Я пытаюсь получить все пустые данные (value=""
) из моей формы.
var inputsEmpty = loginForm.querySelectorAll('input:not([type="hidden"]):not([value=""])');
Сохраняет возвратные элементы
0: введите # companyName.form-control
1: input # userName.form-control
2: input # password.form-control
хотя они не пусты (при нажатии на них в консоли отображается value:''
.
Я пытался использовать jQuery, думая, что это может быть что-то с помощью выборщика запросов
var inputsEmpty = $('input:not([type="hidden"]):not([value=""]):not([id="email"])');
Я получаю тот же результат.
<form class="form-horizontal form-material" id="loginform" action="/login/user_login" method="POST" novalidate>
<h3 class="text-center m-b-20">Sign In</h3>
<div class="form-group ">
<div class="col-xs-12">
<input class="form-control" type="text" name='company_name' id="companyName" placeholder="Company Name" required="1" minlength="6" maxlength="30"/>
</div>
</div>
<div class="form-group ">
<div class="col-xs-12">
<input class="form-control" type="text" name="user_name" id="userName" autocomplete="off" placeholder="User Name" placeholder="Username" required="1" minlength="6" maxlength="30">
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<input class="form-control" type="password" name='password' id="password" placeholder="Password" required="1" minlength="6" maxlength="30">
</div>
</div> .......
JS:
const loginForm = document.querySelector('#loginform');
const submit = loginForm.querySelector('#submitBtn');
// const $loginForm = $('#loginform');
bootstrapValidate(
'#companyName',
'min:6:Invalid company name|max:30:Invalid company name|required:This field is required'
);
bootstrapValidate(
'#userName',
'min:3:Invalid company name|max:30:Invalid company name|required:This field is required'
);
bootstrapValidate(
'#password',
'min:6:Password too short (6 min)|max:30:Password too long (30 max)|required:This field is required'
);
function toSubmit() {
var notValid = loginForm.querySelector('.is-invalid');
// var inputsEmpty = loginForm.querySelector('input:not([value=""])');
// var inputsEmpty = loginForm.querySelector('input:not([value]):not([value=""])');
var inputsEmpty = loginForm.querySelectorAll('input:not([type="hidden"]):not([value=""])');
// var inputsEmpty = loginForm.querySelector('input[value=""]:not([type="hidden"])');
// var inputsEmpty = $('input:not([type="hidden"]):not([value=""]):not([id="email"])');
console.log(notValid);
console.log(inputsEmpty);
if (notValid || inputsEmpty)
return false;
else
loginForm.submit();
}
submit.onclick = toSubmit;
Как мне перечислить только пустые данные