我在表單上有一個輸入元素以及一個提交按鈕。在提交文本之後但在提交之前運行javascript/jquery
我想在輸入元素上每當發生更改時都運行更改事件。問題是,如果最終用戶更改文本並單擊提交按鈕,則更改事件中的代碼不會運行。
用戶單擊提交按鈕後,立即提交表單(如更改沒有時間運行,模糊或焦點出現相同)。
我的控件可以放在任何窗體上,我不控制按鈕的單擊事件。
請幫助
我在表單上有一個輸入元素以及一個提交按鈕。在提交文本之後但在提交之前運行javascript/jquery
我想在輸入元素上每當發生更改時都運行更改事件。問題是,如果最終用戶更改文本並單擊提交按鈕,則更改事件中的代碼不會運行。
用戶單擊提交按鈕後,立即提交表單(如更改沒有時間運行,模糊或焦點出現相同)。
我的控件可以放在任何窗體上,我不控制按鈕的單擊事件。
請幫助
可能是你想要使用event.preventDefault
如果你想趕上,只要在文本框中輸入更改嘗試此在的document.ready
$("input[type='text']").change(function() {
$("#SubmitButton").attr('disabled', 'disabled');
// check input ($(this).val()) for validity here
// after text is updated..etc, enable the button
$("#SubmitButton").removeAttr('disabled');
});
擴展上@Aleks G的評論,你最好的辦法是觸發你的變更處理,而不僅僅是change
事件。除了keyup
,我發現你也需要小心處理與鼠標粘貼(不觸發KEYUP或更改事件):
yourInput.bind('change keyup paste', function() {
// Your code
});
ü可以分享您的代碼? –
你可能想嘗試'onkeyup'事件 - 捕捉實際的按鍵。 –