我有三個輸入字段#product_upc
,#product_price
和#product_quantity
,它們在同一個地方。我有一個複選框#to_hide
,當用戶檢查它時,三個輸入將隱藏(使用hide()
方法)。如果用戶取消選中該複選框,則三個輸入將再次可見,這次使用show()
方法(我可以使用toggle()
來代替,但傾向於使用此方法)。如何僅驗證表單的可見元素?
現在,當我提交表單時,我需要驗證這三個輸入是否可見,如果它們是可見的,那麼驗證它們不是空的,並且在#product_upc
的情況下,我應該通過調用checkUPC(param)
函數來檢查UPC有效性。
我做了這個代碼,但它不工作,因爲元素visible
和代碼永遠不會傳遞低谷驗證:
if (($("#product_upc").val() !== '' || $("#product_upc").val().length >= 0) && $("#product_upc").is(":visible")) {
if (checkUPC($("#product_upc").val()) === false) {
alert("El UPC es inválido");
valid = false;
return false;
}
}
if ($("#product_price").is(":visible")) {
if (!$.trim($("#product_price")).length) {
alert("Debes escribir un precio");
valid = false;
$(this).focus();
return false;
}
}
if ($("#product_quantity").is(":visible")) {
if (!$.trim($("#product_quantity")).length) {
alert("Debes escribir una cantidad");
valid = false;
$(this).focus();
return false;
}
}
其中的錯誤,我做?
如何才能不可見的元素在你的用戶點擊? –
@ClaudioSantos用戶不點擊不可見元素,他們標記一個複選框,如果複選框被標記,則字段被隱藏,如果複選框未被標記,字段將返回 – Reynier
您收到的錯誤是什麼? –