我有一个简单的表单,需要在输入文本时自动提交。
我可以使用 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/