伙计这是我的第一个问题。我有一个表格,显示学生姓名和输入字段以输入他们的考试成绩。表格标题显示主题(在while循环中),并有一个输入字段,用于输入所有主题的最大标记。这个最大标记通过Ajax更新。它发生得不好。如果我们第一次按提交,则不会发生任何事情。如果我们第二次按提交,它会提交。如果我们按第三次,它会更新两次,如果我们按第四次,它会更新三次(成功消息显示三次) 代码 -
<script>
$(document).ready(function(){
$("#maxmarks<?php echo "$m";?>").validate({
rules:{
maxmarks:{
number: true,
}
},
messages:{
maxmarks:{
number: "Please enter a valid marks",
}
},
submitHandler: function(form){
$("#maxmarks<?php echo "$m";?>").submit(function(){
$.ajax({
url : 'components/teacher/performance/maxupdate.php',
type : 'POST',
data : $("#maxmarks<?php echo "$m";?>").serialize(),
success : function(res){
$('#resultreturn').prepend(res);
}
});
return false;
});
}
});
});
</script>
表单与上面的脚本具有相同的ID。有人能告诉我这是什么问题吗?
答案 0 :(得分:1)
你有两次提交处理程序。在submitHandler:
后,您再次以.submit()
一个或另一个 - 不是两个。
第一次提交表单时,它会创建提交处理程序(正如您用.submit()
告诉它的那样),但实际上并没有运行它。
第二次运行它(因为你之前创建它),然后再次创建它。每次运行它都会得到更多。