我需要在頁面上進行檢查,當頁面上的前 3 個表單欄位都為空時,該頁面將顯示一條訊息。我可以撰寫檢查并顯示訊息,但我不確定在 js/jquery 中處理“while”部分的正確方法是什么。我可以把它放在一個每 100 毫秒運行一次的回圈中,但我 100% 確定它絕對是錯誤的。
var empty = true;
$('input[type="text"].slice(0,3)').each(function() {
if ($(this).val() != "") {
empty = false;
return false;
}
});
if (empty) {
document.getElementById('interactive-warning').style.display = 'none';
};
執行此操作的“正確”方法是什么?
作業代碼:
$(document).ready(function(){
$('.form-text').slice(0,3).on('input', function() {
var empty = true;
$('.form-text').slice(0,3).each(function() {
if ($(this).val() != "") {
empty = false;
return false;
}
});
if (!empty) {
document.getElementById('interactive-warning').style.display = 'none';
} else {
document.getElementById('interactive-warning').style.display = 'block';
};
}).trigger('input');
});
我需要在就緒時執行,因為需要在表單之前添加代碼。
uj5u.com熱心網友回復:
您可以收聽該input事件,當用戶更改這些值時,它會通知您,例如:
將您現有的代碼移入function checkIfEmpty() { ...并添加:
$('input[type="text"].slice(0,3)').on("input", checkIfEmpty);
(注意沒有()after checkIfEmpty 事件)
如果您的輸入是通過代碼更改的,則不會引發 UI 事件,因此您需要一個替代方法。最簡單的方法是:當您的代碼更改輸入時,也呼叫checkIfEmpty().
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/398009.html
標籤:javascript html 查询
下一篇:推送變更的問題——git
