jquery - 在输入字段中输入数据时延迟提交表单

标签 jquery forms input submit

我有一个简单的表单,需要在输入文本时自动提交。

我可以使用 onChange 或 onKeyUp,但没有得到最佳结果。

HTML 是:

  <form action="" id="fusionSearchForm" method="post">
    <input type="text" class="std_input" id="fusion_searchText" />
  </form>

和 jQuery

jQuery("#fusionSearchForm").keyup(function() {
  this.submit();
});

每次输入字符时都会提交。我宁愿这样 - 提交之前有延迟,因此您可以完成输入 - 焦点保留在提交后准备输入的输入字段上(如果重新加载)

有什么方法可以延迟 form.submit() 以便用户可以在提交表单之前完成输入吗?

(更新代码为更“jQuery”的提交方式)

兄弟。安德斯

最佳答案

这应该有效。 500 毫秒内未输入任何内容时提交表单

var timerid;
jQuery("#fusionSearchForm").keyup(function() {
  var form = this;
  clearTimeout(timerid);
  timerid = setTimeout(function() { form.submit(); }, 500);
});

关于jquery - 在输入字段中输入数据时延迟提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2006870/

相关文章:

php - 将Mysql信息从一个页面转移到另一个页面

javascript - 互斥的单选按钮和相应的输入字段

c - 将文件中的内容添加到链表

css - 使输入字段的宽度相对于其内容

javascript - 如何获取字符串输入并将其存储到 var 中

javascript - hasClass jQuery 不工作

javascript - 如何使用 JavaScript 获取复选框附加文本?

javascript - 根据值更改 <td> <i> CSS

javascript - 几个选择 : disable/hide/remove selected option in one select

html - Firefox 的语音识别输入类型文本