と の 3 つの入力フィールド#product_upcが#product_priceあり#product_quantity、それらは同じ場所にあります。チェックボックスが#to_hideあり、ユーザーがチェックすると、3 つの入力が非表示になります (hide()メソッドを使用)。ユーザーがチェックボックスをオフにすると、3 つの入力が再び表示されます。今回はshow()メソッドを使用します (toggle()代わりに use を使用することもできますが、このアプローチを使用することをお勧めします)。
ここで、フォームを送信するときに、これら 3 つの入力が表示されているかどうかを確認する必要があります。表示されている場合は、それらが空でないことを検証し、関数#product_upcを呼び出して UPC の有効性を確認する必要がありcheckUPC(param)ます。
私はこのコードを作成しましたが、要素が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;
}
}
私が犯した間違いはどれですか?