所以我有一个文本字段(

<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/

10-09 17:31
查看更多