我使用bassistance.de中的jQuery驗證器插件(1.11)並通過php提交。 現在我已經在提交處理程序的javacript代碼結尾處添加了ajax調用,但是調用不起作用,對於螢火蟲控制檯也不存在。jQuery驗證器插件+ ajax提交不起作用
CASE 1如果我把ajax調用放在網站的開頭,它可以工作,但是驗證器插件不再被看到。
CASE 2如果我把提交處理程序中的調用,它不存在,表單由php提交。
CASE 3如果我把代碼放在頁面的最後,聯繫表格仍然由php提交。
這裏的Ajax調用:
$("#contactform").submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "formfiles/submit.php",
data: $(this).serialize(),
success: function() {
$('#contactform').html("<div id='message'></div>");
$('#message').html("<h2>Your request is on the way!</h2>")
.append("<p>someone</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/ok.png' />");
});
}
});
return false;
});
任何人知道什麼是錯的?
在此先感謝您的幫助,我正在爲此努力奮鬥。
編輯爲了更好地理解這個問題,以下是完整的javascript
$(document).ready(function(){
$("#contactform").validate();
$(".chapta").rules("add", {maxlength: 0});
var validator = $("#contactform").validate({
ignore: ":hidden",
rules: {
name: {
required: true,
minlength: 3
},
cognome: {
required: true,
minlength: 3
},
subject: {
required: true,
},
message: {
required: true,
minlength: 10
}
},
submitHandler: function(form) {
$("#contactform").submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "formfiles/submit.php",
data: $(this).serialize(),
success: function() {
$('#contactform').html("<div id='message'></div>");
$('#message').html("<h2>Your request is on the way!</h2>")
.append("<p>someone</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/ok.png' />");
});
}
});
return false;
});
},
});
});
EDIT 2個
的選擇和所有其餘的看起來的要罰款。
<form action="#n" class="active" method="post" name="contactform" id="contactform">
它是非常艱難的嘗試和診斷這個問題,沒有更多的代碼來看待。馬塞爾的答案就是一個很好的例子。請爲我們提供您的html和php文件,以便我們可以更好地瞭解這裏發生了什麼。 – iAmClownShoe 2013-03-25 21:51:13
仍然沒有足夠的代碼... html是必要的,因爲您可能只是使用了選擇器錯誤。 – iAmClownShoe 2013-03-25 21:56:05
@iAmClownShoe請參閱我的第二編輯 – Someone33 2013-03-25 22:07:28