Надеюсь, я получу этот формат. Я знаю, что это вопрос новичков и, вероятно, довольно очевидный, но я смущен тем, как проверить эти поля. У меня есть два поля ввода на файл JSP:Ошибка JavaScript при проверке наличия двух числовых значений
<input id="CMDScheduleNumber" type="number" class="textsmall" maxlength="5"
onKeyPress="return numbersonly(this, event)"/>
<input id="CMDContractYear" type="number" class="textsmall" maxlength="4"
onKeyPress="return numbersonly(this, event)"/>
У меня есть функция в сценарии под названием «searchEFT», который проверяет, если либо номер графика или год контракта заполняется, то оба они должны быть заполнены.
<script type="text/javascript">
//function for onchange
$(document).ready(function() {
$("#searchEFT").click(function() {
var Cmd_Sched_Number = document.getElementById("CMDScheduleNumber");
var Cmd_Contract_Year = document.getElementById("CMDContractYear");
var Cmd_Status = document.getElementById("CMDSchedStatus");
var Cmd_Creation_Date = ocument.getElementById("CMDCreationDate");
if (Cmd_Sched_Number == "") {
If(Cmd_Contract_Year !== "")
alert("Schedule Number and EFT Contract Year must be both populated");
return;
}
else if (Cmd_Sched_Number == "") {
alert("Schedule Number and EFT Contract year must be both populated");
return;
}
Когда я попытался сделать отладчик, если поле Cmd_Sched_Number значение отображается как «», но valueasnumber показан как «NaN». Поэтому, когда я делаю чек, я должен проверить, что это «" или проверить его как числовое с isNaN и/или IsNull?
Спасибо за помощь
В какой-то момент я рекомендую посмотреть jQuery или аналогичный пакет. Это делает вещи намного проще. – Draco18s
OP уже использует что-то подобное. Вы можете увидеть это в коде. Тем не менее, здесь вряд ли нужно. – Mic
Для элементов значение value возвращает строку. Свойство valueAsNumber пытается преобразовать строку в число. Если преобразование невозможно, valueAsNumber возвращает значение NaN. Поскольку вы проверяете, было ли что-то введено, проверка значения свойства в порядке. –