2017-07-24 51 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 
    }); 
});