我正在尝试编写一个自动提交表单(类似于 google instant),现在我正在使用此脚本来执行此操作:
$(document).ready(function() {
$('#string').change(function(){
var url = $(this).val();
$('#area').load('cgi/test.pl',{string:url});
});
});
现在的问题是,在用户完成输入后,他将需要在输入字段之外单击。我尝试过使用 onkeyup
等而不是 change
但首先这会导致大量的请求,其次如果您在字段中粘贴文本,它将不起作用。我还尝试将 javascript setTimeout
与脚本结合使用,但无法真正使其工作。
基本上我所追求的是自动提交脚本,它可以“检测”用户何时仍在键入(因此提交会出现某种延迟),并且还可以检测文本何时粘贴到输入字段。
欢迎提出任何建议。
最佳答案
我会使用doTimeout plugin实现“去抖动”(例如: http://benalman.com/code/projects/jquery-dotimeout/examples/debouncing/ )。
这样,您就可以使用keyup
。为了考虑到用户粘贴文本的情况,请保留 change
处理程序;只需在 change
触发时调用 keyup
处理程序即可。
关于jQuery 表单自动提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4329412/