我正在為網站撰寫一些代碼,以在文本框提交中的任何引數留空時提醒用戶,并且由于某種原因,它不起作用。我已經嘗試了一切,但我不確定我是否采取了正確的方法。這是我的javascript代碼:
let assetInfo = {
asset_tag_no: $(`#asset_tag_no${i}`).val(),
manufacturer: $(`#manufacturer_serial_no${i}`).val(),
descriptions: $(`#description${i}`).val(),
costs: $(`#cost${i}`).val(),
po_no: $(`#p.o._no${i}`).val(),
department_division_head: $(`#department_division_head${i}`).val(),
}
$('#submit').click(function(assetInfo){
if($(assetInfo).val() == ''){
alert('Input can not be left blank');
}
});
這是我的 HTML:
<button type="button" class="btn btn-primary" id='submit'>SUBMIT</button>
有小費嗎?
uj5u.com熱心網友回復:
嘗試檢查物件上的特定值,assetInfo而不是物件本身。
$('#submit').click(function(assetInfo){
if (assetInfo.asset_tag_no == '' || assetInfo.manufacturer == '' || assetInfo.descriptions == '' || assetInfo.costs == '' || assetInfo.po_no == '' || assetInfo.department_division_head == '') {
alert('Input can not be left blank');
}
});
或者,您可以簡單地將required屬性添加到input元素,然后瀏覽器可以在輸入丟失時本地提醒用戶。
<input type="text" name="asset_tag_no" required/>
uj5u.com熱心網友回復:
例如,當您使用 JQuery 通過 獲取元素時$('.foo'),它會回傳一個鏈接到 DOM 的熱物件。但是,當您呼叫el.val()JQuery 元素時,您會得到一個原語,因此它不再與該元素的 DOM 值鏈接。因此,您應該調整assetInfo常量以僅包含元素。然后,在事件偵聽器中獲取元素的原始值。這是您的常量:
let assetInfo = {
asset_tag_no: $(`#asset_tag_no${i}`),
manufacturer: $(`#manufacturer_serial_no${i}`),
descriptions: $(`#description${i}`),
costs: $(`#cost${i}`),
po_no: $(`#p.o._no${i}`),
department_division_head: $(`#department_division_head${i}`),
}
現在,您可以通過呼叫獲取元素陣列Object.values。assetInfo之后,我們可以使用該Array.prototype.every方法檢查每個元素的值是否不為空。您還應該從回呼函式中洗掉引數,因為您可以通過其名稱訪問它。
$('#submit').click(function() {
const allValid = Object.values(assetInfo).every((el) => el.val() != "");
if (!allValid) {
alert('Input can not be left blank');
}
});
uj5u.com熱心網友回復:
如果你在談論文本框,這里是解決方案:
因此,在 HTML 中,您可以在事件期間使用引數呼叫 Javascript 函式。您可以使用的函式稱為“onblur”,當視窗中的物件失去焦點時會觸發該函式。所以你會輸入:
<input type="text" onblur="myFunction(this)" />
<p id="errorMessage" />
然后我們實際上需要這個函式,原因很明顯。現在我們去:
const errorMessage = document.getElementById('errorMessage')
function myFunction(field) {
if (field === "") {
errorMessage.innerText = "One or more fields were not entered.";
}
}
希望這有幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/444643.html
標籤:javascript html jQuery
上一篇:調整pytesseract引數
