Есть форма:
<form class="form_save" action='#' >
<label for="name">Имя:</label>
<input type="text" size="25" name="name" id="name" />
<div class="error-box"></div> <!-- Контейнер для ошибок -->
<label for="email">Email:</label>
<input type="text" size="25" name="email" id="email" />
<div class="error-box"></div>
<label for="message">Сообщение:</label>
<textarea name="message" cols="50" rows="10" id="message"></textarea>
<div class="error-box"></div>
<div><input onclick="form_save(model)" type="submit" id="send" value="Отправить письмо" /></div>
</form>
перед выполнением function form_save() происходит проверка на стороне клиента, если все правельно то каждому инпут добавляется клас not_error,если форма не заполненая и при этом пользователь нажимает \Отправить письмо\ - форма не отправляется. Но потом уже при правельно заполненой форме происходит столько запросов(и соответственно сохраняет) сколько раз была нажата отправка. Вопрос- каким образом в независимости от того сколько было неправельных запросов, отправить его только один раз при правельной валидации?
function form_save(model_name) {
$(".form_save").submit(function(e){e.preventDefault();
var form = $('form.form_save');
var action=$(this).attr('action');
var len = $('form.form_save label').size()
if($('.not_error').length == len)
{
$.ajax({
type:"POST",
url:action,
data:form.serialize(),
beforeSend: function(xhr, textStatus){
block_form()
},
success:function (){
model('manage/json/'+model_name+'/');
unblock_form();}
});
}
else
{
return false;
}
});
}