У меня есть этот JS кодRails 3 Jquery плагин проверки
$(".new_milestone").validate({
submitHandler: function(form) {
$(form).submitWithAjax();
},
errorPlacement: function(error, element) {
error.insertBefore(element);
}
});
Это все работает, errorPlacement и функцию submitWithAjax. Но когда я отправляю форму во второй раз без перезагрузки страницы, форма отправляется два раза. В следующий раз 3 раза и так далее.
Когда я делаю это
$(".new_milestone").validate({
errorPlacement: function(error, element) {
error.insertBefore(element);
}
});
$(".new_milestone").submitWithAjax();
Он работает, но он делает AJAX пост даже если форма не является действительным.
Функция submitWithAjax выглядит следующим образом (спасибо Райан Бейтс)
jQuery.fn.submitWithAjax = function() {
this.submit(function() {
$.post(this.action, $(this).serialize(), null, "script");
$('.spinning').show();
$("#dialog_form").dialog("close")
return false;
})
return this;
};
Любые идеи о том, останавливая это поведение?
Спасибо! У вас есть опыт работы с рельсами. Удаление обработчика отправки испортило маршрут POST для рельсов. Есть ли способ использовать функцию validate, а не «в ситуации отправки» –
@Andreas - Функция 'submitHandler' только вызывается как часть события' submit' на '
Да, я использую первый. Я думал, что могу попробовать без функции submitHandler. Может быть, какое-то утверждение if в действительной() функции? –