неправильно сравниваются значения input.value и null
У меня на странице есть форма заявки, она реализована 3 полями ввода (input), мне нужно проверить, ввёл ли пользователь данные в эти поля, когда я проверяю, пустое ли значение в поле инпут, код пишет что оно не пустое, хотя это не так.
let briefVInputDataName = nameInputBriefV.value
let briefVInputDataEmail = emailInputBriefV.value
let briefVInputDataPhone = numberInputBriefV.value
if ((briefVInputDataName != null) && ((briefVInputDataEmail != null) || (briefVInputDataPhone != null))) {
я пробовал сравнивать input.value с null, undefined, пустой строкой, нулём, со значением другого инпута, который специально для этого создал, то есть там 100% пустое значение, также я пробовал использовать !== вместо !=
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Вы неверно ожидаете равенство пустой строки и null
console.log('' == null)
в вашем случае нужно проверить на ввел ли значение, а не null
let briefVInputDataName = nameInputBriefV.value
console.log(briefVInputDataName != null)
console.log(briefVInputDataName != '')
<input id="nameInputBriefV" type="input" />
Автор решения: Voprositel
→ Ссылка
Вот как можно проверить на пустую строку:
const str = '';
if (!str) {
console.log('Пустая строка');
}
const str = '';
if (str.length === 0) {
console.log('Пустая строка');
}
const str = '';
if (str === '') {
console.log('Пустая строка');
}