2017-07-24 55 views
-3

如何在用户输入完成后提交表单? 例如:用户开始输入。几个人物介绍停止后。表单被提交。Javascript。用户停止输入后提交表格

+0

这是可能的,但它是可怕的设计。除非输入信息应该很短,否则这可能会让用户感到厌烦。 – cdo256

+0

我需要制作一个搜索表单,它会在每次输入之间暂停后向服务器发出请求。这是客户的愿望 –

+0

啊,这很有道理。 – cdo256

回答

2

下面是一个例子。

var timer;    
var doneTypingInterval = 3000; // wait 3 seconds 
var $input = $('input'); 

$input.on('keyup', function() { 
    clearTimeout(timer); 
    timer = setTimeout(doneTyping, doneTypingInterval); 
}); 

$input.on('keydown', function() { 
    clearTimeout(timer); 
}); 

function doneTyping() { 
    alert('done') 
} 

的Html

<input type="text"> 

但我不建议这样做。它可能会让你的用户烦恼。

+0

对不起,我是新的。我想如果我粘贴jsfiddle链接,它会自动粘贴代码。 –

+0

颠倒了我的投票。发布小提琴链接很好,但代码也应该发布在答案中。您也可以发布堆栈片段而不是小提琴链接。 – Carcigenicate

0

我希望这有助于示例:

HTML

<form> 
<input name="query" id="query"> 
<p id="message" > </p> 
</form> 

JS

function submitForm(){ 
    //do some stuff 
} 

jQuery(document).ready(function(){ 
    window.timeout=null; 
    jQuery('#query').on('keyup', function(event){ 
     clearTimeout(window.timeout); 
     window.timeout = setTimeout(submitForm, 1000); // waits 1 second for user to press a new key 
    }); 
});