это работает:jQuery Подтвердить: Как отправить() после заполнения формы?
$('#contestform').on('submit', function(e) {
$.post('/', $(this).serialize(), function(response){
console.log(response);
},'json');
e.preventDefault();
});
и это работает
jQuery("#contestform").validate();
Но я не могу понять, как заставить их работать вместе. Я хочу, чтобы материал из верхнего кода произошел только в том случае, если нажата кнопка отправки и форма действительна. Я пробовал материал от http://docs.jquery.com/Plugins/Validation/validate#toptions, но я думаю, что я его не получаю. У меня было что-то вроде работы в какой-то момент, но вам нужно дважды щелкнуть ссылку.
Одна вещь, если я могу помочь, я хочу сохранить материал post() в отдельной функции, так как две части будут поступать из разных частей php.
редактировать 1 пытался это, не работает (по форме) (по не работает, я имею в виду, что это представление обычно не АЯКС)
function postForm(e) {
jQuery.post('/', $(this).serialize(), function(response){
console.log(response);
},'json');
e.preventDefault();
}
jQuery("#contestform").validate({submitHandler: postForm});
edit2 Ну, я получил его работу с плагином jQuery.Form http://www.malsup.com/jquery/form/#ajaxSubmit Тем не менее, я хотел бы знать, что я делал неправильно в своем коде выше.
function showResponse(responseText, statusText, xhr, $form){
console.log(responseText);
}
var soptions = {
success: showResponse ,
dataType: 'json'
};
jQuery("#contestform").validate({
submitHandler: function(form) {
jQuery(form).ajaxSubmit(soptions);
return false; // always return false to prevent standard browser submit and page navigation
}
});
Танки, отлично работает. –