Я не очень хорошо знаком с JQuery. Я пытаюсь сделать форму, представленную в фоновом режиме без перезагрузки страницы. У меня есть скрытый div, который показывает и скрывается при нажатии, внутри div есть форма.Jquery submit form без перезагрузки страницы
У меня есть две проблемы:
1) Когда форма проверки не удается, форма по-прежнему представлены. Я попытался поставить коды проверки и подтверждения в состояние if(validation == valid) { $.ajax.... }
, но он не работает должным образом.
2) После отправки формы div автоматически скрывается, поэтому успешное сообщение не видно.
Вот код:
$().ready(function() {
// validate the form when it is submitted, using validation plugin.
var validator = $("#contactform").validate({
errorContainer: container,
errorLabelContainer: $(),
onkeyup: false,
onclick: false,
onfocusout: false,
errorPlacement: function (error, element) {
error.insertBefore(element);
}
});
});
$(function() {
//this submits a form
$('input[type=submit]').click(function() {
$.ajax({
type: "POST",
url: "contact.php",
data: $("#contactform").serialize(),
beforeSend: function() {
$('#result').html('<img src="loading.gif" />');
},
success: function(data) {
$('#result').html(data);
}
})
})
})
//this shows and hides div onlcick
$(document).ready(function(){
$(".slidingDiv").hide();
$(".show_hide").show();
$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
});
});
Спасибо, e.preventDefault сделал трюк для подачи и успеха div. – qwaz
Я хочу предотвратить обновление после отправки формы .. этот код не работает должным образом –
Это работало для меня локально. Но когда я загружался на мой размещенный сервер, вызов .on («submit», ..) вызывал неопределенную ошибку .. не знаю, почему, потому что я думаю, что у меня есть одна и та же версия jQuery, где бы мой код не был развернут ?! Я нашел альтернативу обновлению строки следующим образом: $ («form»). Submit (function (e) {..}); .. который затем работал нормально – gnB