Во-первых, required можно прописать в сами теги, зачем идти в обход через JS?
Во-вторых, если прописать в теге required, то при любой попытке отправки сам браузер ткнёт юзверя лицом в то, что где-то в поле пусто
В-третьих валидацию и правда нужно проводить и у клиента и на сервере, т.к. никто не отменял умельцев с инструментами разработчика.
А дважды выполняется, потому что: CODE ( javascript):
скопировать код в буфер обмена
// 1: submitHandler: function(form){addData();} // 2: if($("#results").val()=="SUCCESS VALIDATION"){addData();}
Намного проще пойти так:CODE ( javascript):
скопировать код в буфер обмена
function ajax() { //Ajax отправка формы if(validate($("#form")){ //Само сабой, эту функцию надо будет описать, и сделать в ней return true||false $.ajax({ type: "POST", url: "send.php", data: $("#form").serialize(), success: function(data) { $("#results").html(data); //так понимаю, addData() - отсылает форму для сохранения в БД. Зачем делать два запроса к серверу? Объедините валидацию и сохранение в один запрос: //Валидно - сохраняем, шлём ответ "Умнищка" //Невалидно - шлём ответ "Дурашка" и не сохраняем. //Ну а здесь, непосредственно, обработка самого ответа. }, error: function(xhr, str){ alert("Возникла ошибка!"); } }); }else{alert('Где-то в поле пусто...');} }
|