Валидация. Проверка и вызов функции
Я хочу вызвать функцию только в том случае, если форма валидна.
Проверка корректно работает, но я не могу правильно вызвать функцию 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, время: 22:01. |