Функциональность:Неправильный результат для условия операторов проверить в if..else заявлении
Есть четыре различных полей в странице детали. В котором есть набор из 2 полей, каждый из которых должен быть заполнен, прежде чем пользователь сможет перейти к следующей странице.
Кроме того, существует условная проверка, чтобы убедиться, что набор из 2 полей из 2 наборов заполнен, прежде чем разрешить пользователям перейти на следующую страницу.
Следовательно, поток выглядит следующим образом:
[ЯВНО]
SET A: dropdownmenu_A & inputTEXTfield_A
заполнен
[OR]
SET B: dropdownmenu_B & inputTEXTfield_B
заполнена.
Условная проверка позволит пользователю перейти на следующую страницу.
Если какой-либо из них не заполнен, это не позволит пользователю прогрессировать.
Выпуск:
На данный момент, пользователи по-прежнему в состоянии представить и перейти от текущей страницы к следующей странице, даже несмотря на то, обязательные поля не заполнены. Это логика, которую я использовал для проверки (псевдокод)
if((dropdownmenu_A is empty && inputTEXTfield_A is empty) OR
(dropdownmenu_B is empty && inputTEXTfield_B is empty))
Таким образом, следующее условие фактически должны проверить, если поля пусты или заполнены.
Где моя логика оператора пошла не так?
Код:
// On Submit
function SubmitReceiptDetails() {
idleTime = 0;
//Check for Input Field
if (($.trim($("#dropDownShops_1").val()) == "" &&
$.trim($("#ReceiptField_1").val()) == "") ||
($.trim($("#dropDownShops_2").val()) == "" &&
$.trim($("#ReceiptField_2").val()) == "")) {
console.log("Receipt_Field_Error wrong");
alert("Your field is not filled");
} else {
$('#PageA').fadeOut();
$('#PageB').fadeIn();
}
}
<form>
<!-- DropDown Menu to choose Participating Outlet -->
<select id="dropDownShops_1">
<option value="None" selected="Selected">Please Select Shops ...</option>
</select>
<input type="text" id="ReceiptField_1" style="z-index=10; position:absolute; top:390px; left:858px; height:58px; width:265px; outline:0; border: 0; font-size:25px; font-family:'Gothic'; color:#765725; background: transparent;" autofocus>
<select id="dropDownShops_2">
<option value="None" selected="Selected">Please Select Shops ...</option>
</select>
<input type="text" id="ReceiptField_2" style="z-index=10; position:absolute; top:585px; left:858px; height:58px; width:265px; outline:0; border: 0; font-size:25px; font-family:'Gothic'; color:#765725; background: transparent;">
</form>
Вы пытались использовать оператор === вместо этого? – DanielC
Создайте [mcve] - ваш фрагмент не выполняется - например. вы не назначили проверку на событие отправки – mplungjan
, пытались ли вы регистрировать '.val()' всех ваших полей, когда он возвращает true, чтобы вы могли видеть, какие значения были возвращены? если да, то что они возвращают? – haxxxton