#javascript #forms
#javascript #формы
Вопрос:
Предупреждение не отображается в приведенном ниже коде, но оно работает, когда оно не находится внутри оператора if . Любая помощь приветствуется.
function publish() {
var name = document.getElementById("name").value;
var state = document.getElementById("state").value;
var price = document.getElementById("ppd").value;
var photo = "1";
var name = document.getElementById("name").value;
var description = document.getElementById("description").value;
var email = document.getElementById("email").value;
if ((document.getElementById("name").length = 0)) {
window.alert("Must enter name");
}
}
Комментарии:
1. Вы назначаете длину, а не проверяете ее
2. eslint.org/docs/rules/no-cond-assign
3. Другими словами, вы хотите сделать
document.getElementById("name").length === 0
(или==
будете работать)
Ответ №1:
Есть две проблемы с условием
- В JavaScript оператором сравнения является
===
(или==
).=
является ли оператор присваивания - Если вы проверяете длину входного значения, тогда код должен проверять
length
value
свойство
if (document.getElementById("name").value.length === 0)
Вы также можете использовать переменную name
напрямую
if (name.length === 0)