我有一个需要验证的表单,也需要在不刷新页面的情况下提交。我已经成功完成了表单的验证和提交,但是页面却被刷新了。然后我又能够在不刷新页面的情况下提交表单,但是无法实现验证。
我看了很多教程和帖子,在这里感觉这是正确的总体格式...只是肯定错过了什么东西。
非常感谢任何帮助!
以下是我的脚本:
我看了很多教程和帖子,在这里感觉这是正确的总体格式...只是肯定错过了什么东西。
非常感谢任何帮助!
以下是我的脚本:
$(document).ready(function(){
$("#addstudent").validate({
debug: false,
rules: {
studentid: "required",
teacher: "required",
assignment: "required",
date: "required",
},
messages: {
studentid: "Please enter the student's ID number.",
teacher: "Please enter your name.",
assignment: "Please select a tutoring assignment.",
date: "Please select a day.",
},
submitHandler: function(form) {
$.ajax({
url: 'add.php',
type: 'POST',
data: $("form.addstudent").serialize(),
success: function() {
$("#studentid").val(""), $('#studentid').focus(), $('#results').load('addresults.php', function(){
});
}
});
return false;
}
});
});
以下是我的表单代码:
<form name="addstudent" id="addstudent" action="" method="post">
<fieldset><legend>Add student to tutoring list</legend>
<div><label for="studentid">ID number</label><input type="text" name="studentid" id="studentid"></div>
<div><label for="day">Date</label><select name="date" id="date">
<option value="">Please select a day</option>
<option value="mon">Monday <? echo $monday; ?></option>
<option value="tue">Tuesday <? echo $tuesday; ?></option>
<option value="wed">Wednesday <? echo $wednesday; ?></option>
<option value="thu">Thursday <? echo $thursday; ?></option>
<option value="fri">Friday <? echo $friday; ?></option>
</select></div>
<div><label for="assignment">Tutoring assignment</label><select name="assignment" id="assignment">
<option value="">Please select an assignment</option>
<option value="att">Activity Time</option>
<option value="acc">ACC</option>
<option value="tech">ACC Tech </option>
<option value="ast">After School</option>
</select></div>
<div><label for="teacher">Assigning teacher</label><input type="text" name="teacher" id="teacher"></div>
<input type="submit" name="submit" value="submit">
</fieldset>
</form>
编辑: 第一次编辑(现已删除)大幅改变了问题。对此造成的任何困扰表示歉意。下面选择的答案解决了这个表单本身的问题。
$("form.addstudent").serialize()
,因为addstudent
是一个id
,而不是一个class
。请尝试:$("form#addstudent").serialize()
,或者只需("#addstudent").serialize()
。 - Sparky