所以我有一个文本字段(
<input type="text"/>
)在用户按下Enter或提交功能时要在其中运行的功能。
现在,onSubmit看起来是最好的解决方案。可悲的是,这需要一个表单(据我所知),并且该表单在我提交时会重新加载页面。而且它添加了一些我不喜欢的额外代码。
我也尝试过onKeyPress,但这在用户每次输入内容时都会做出反应(请参阅我的上一个问题)。我尝试过在函数本身中寻找“ enter”键,但是效果并不理想。而且我不想每次有人在字段中键入内容时都运行该函数。
因此,总结一下:我想在用户提交文本字段时运行一个函数。我该怎么做呢?有没有一种方法可以使用'onSubmit'功能而不使用表单?
当我对某事发表评论时,像Facebook这样的页面会做什么?
我实际上是在尝试创建Facebook评论功能。这是我到目前为止的代码:
var facebook_footer = '<button onClick="fbLike(\''+post_id+'\')"> Like </button> <form onSubmit="fbComment(\''+post_id+'\')"><input type="text" id="' + post_id + '" /></form>';
function fbComment(post_id) {
var message = document.getElementById(post_id).value;
console.log('Trying to comment on: ' + post_id);
FB.api('/'+ post_id +'/comments?message=' + message, 'post', function(response) {
if (!response || response.error) {
alert('Error occured. ID: ' + post_id);
} else {
alert('Great! It worked. ID: ' + post_id);
}
});
}
也许您对FBapi有所了解,并且知道这里的标准程序是什么?
无论如何,预先感谢您的回答。
最佳答案
最好的方法是拥有该表格,并使用onSubmit
。为了防止表单实际单独提交(并使用您自己的JS函数),只需从该函数中输入return false
即可。
关于javascript - 没有表单的onSubmit,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15487823/