我對Jquery不是很熟悉。我正在嘗試製作一個在後臺提交的表單,無需重新加載頁面。 我有一個隱藏的div,它顯示並隱藏點擊,裏面有一個窗體。jquery提交表單無需重新加載頁面
我有兩個問題:
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