Валидация. Проверка и вызов функции
Я хочу вызвать функцию только в том случае, если форма валидна.
Проверка корректно работает, но я не могу правильно вызвать функцию addUser(). addUser работает, но он зациклен, при следующим вызове срабатывает 2 раза, потом 5 и так далее. И еще форма должна отправляться только в addUser(). По отдельности они работают правильно, а вместе нет. Могут быть несколько телефонов. //code if (lastName.value.match(letters)) { for(var i = 0; i < phones.length; i++){ if (!phones[i].value.match(digts)) { error.innerHTML = 'Only digits'; frm.insertBefore(error, phones[i]); errorMessage = "false"; phones[i].focus(); //проверка if(phones[phones.length - 1].value != '') { addUser(); }; break; } } } else { if(user.value == ''){ //code } errorMessage = "false"; } if (errorMessage !== "") { event.preventDefault(); } } ---------- function addUser(){ $('#registration').submit(function(event) { alert(12); event.preventDefault(); //code var data = 'phones=' + JSON.stringify(arrUserInfo); $.ajax({ //code }); }); } |
А зачем вызов функции в цикле? Проверьте все телефоны, если среди них нет ошибок, тогда отправка. То есть вызов функции только по результату проверки.
|
А где проверку сделать?
|
Цитата:
if (lastName.value.match(letters)) { for(var i = 0; i < phones.length; i++){ if (!phones[i].value.match(digts)) { Но это //проверка if(phones[phones.length - 1].value != '') { addUser(); }; из цикла убрать, и либо отмечать все поля с ошибками, либо прерывать цикл на первом поле с ошибкой.... но иметь признак какой либо результата проверки, отправляя запрос только в том случае, если он true. |
Часовой пояс GMT +3, время: 04:22. |