Til*_*eck 10 forms jquery input submit
我有一个简单的表单,我需要在输入文本时自动提交.
我可以使用onChange或onKeyUp而没有最好的结果.
HTML是:
<form action="" id="fusionSearchForm" method="post">
<input type="text" class="std_input" id="fusion_searchText" />
</form>
Run Code Online (Sandbox Code Playgroud)
和jQuery
jQuery("#fusionSearchForm").keyup(function() {
this.submit();
});
Run Code Online (Sandbox Code Playgroud)
每次输入一个字符时都会提交.我更愿意这样做 - 在提交之前有一个延迟,所以你可以完成你的输入 - 焦点保持在输入字段准备好提交后输入(如果重新加载)
任何延迟form.submit()的方法,以便用户可以在提交表单之前完成输入?
(更新代码以更"jQuery"的方式提交)
BR.安德斯
jit*_*ter 16
这应该工作.在没有输入500ms的情况下提交表单
var timerid;
jQuery("#fusionSearchForm").keyup(function() {
var form = this;
clearTimeout(timerid);
timerid = setTimeout(function() { form.submit(); }, 500);
});
Run Code Online (Sandbox Code Playgroud)
这是一个坏主意.你不想绕过人们对表单输入的期望.如果您不想要提交按钮,那么至少等待提交,直到您捕获"输入".
除了用户心灵阅读设备之外,你怎么能知道用户何时完成打字,除非你正在寻找他们输入"return"或"enter"?用户不会知道他们应该暂停片刻让表单在超时时间提交,或者他们需要快速在500MS超时之前输入搜索.
见:这个问题
如果你想在任何提交时立即开始返回结果,你可以做某种ajax自动完成.
自动完成http://img9.imageshack.us/img9/5526/autocompletegoogle.png
这是一个在输入上提交的jQuery示例:
$("input").keypress(function(e) {
switch (e.keyCode) {
case 13:
$("#formid").submit();
return false;
default:
return true;
}
});
Run Code Online (Sandbox Code Playgroud)