function checkforinput() {
var valid = true;
var date = document.getElementById('date');
var time = document.getElementById('time');
var checkbox = document.getElementById('checkbox-1-1');
if (date.value == "" && time.value == "" && checkbox.checked == false || date.value !== "undefined" && time.value !== "undefined" && checkbox.checked) {
document.getElementById('errMsg10').innerHTML = "*Please Schedule in Advance or Select Now";
valid = false;
} else {
document.getElementById('errMsg10').innerHTML = "";
}
return valid;
}
HTML-:Каков правильный формат этого оператора if/else?
<input id="date" class="datentime" type="date" name="date" min="2015-07-18" max="2015-12-31" value="1"/>
<input id="time" class="datentime" type="time" name="time" value="1"/><br>
<h2 class="bottomOpt">OR</h2><span id="errMsg10"></span>
<h1 class="bottomOpt"><span class="adnow">Now</span><br><span id="asap">*We'll send help ASAP.</span></h1>
<input type="hidden" name="now" value="0"/>
<input type="checkbox" id="checkbox-1-1" class="regular-checkbox" name="now" value="1" /><label for="checkbox-1-1"></label>
<input type="hidden" name="status" value="3"/>
В приведенном выше коде, что я пытаюсь сделать, это требует, чтобы дата ввода, время и флажок не может быть пустым, но они не могут все быть выбраны или. Пользователь либо проверяет флажок , либо выбирает дату и время.
Первая часть инструкции if/else, похоже, работает нормально, но код после ||
в условном выражении кажется неправильным. Если выбрана дата и время, но флажок не установлен, код работает. Если флажок установлен, но дата и время не выбраны, код не работает. Он по-прежнему отображает errMsg10
.
Вам нужны скобки ... вокруг частей, которые необходимо проверить вместе. – epascarello