0
我有幾個<選擇>字段,我希望他們的父表單在他們的值被更改時自動提交,但我希望在那裏有1.5秒的延遲並中止提交,如果用戶打開另一個選擇。Javascript:拖延表單提交
我嘗試這樣做:
var tmr;
var timerOn = false;
function submitSearchOptions() {
$('#searchoptionsform').submit();
}
$('#searchoptionsform select').change(function() {
if (!timerOn) {
tmr = setTimeout(submitSearchOptions,1500);
timerOn = true;
}
});
$('#searchoptionsform select').click(function() {
if (timerOn) {
clearTimeout(tmr);
timerOn = false;
}
});
但它不工作。在select中選擇一個值也會觸發停止定時器的click事件。
只是FYI,'setTimeout'總是返回一個非零的數字。所以如果你喜歡在計時器沒有運行的情況下使用'tmr = 0',你可以結合'tmr'和'timerOn'。 –
好的提示,謝謝。 – L84