0

伙计们,这是我的第一个问题。我有一个表格,显示学生姓名和输入字段以输入他们的考试成绩。表头显示了主题(它在一个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。有人可以告诉我有什么问题吗?

4

1 回答 1

1

您有两次提交处理程序。一次 as submitHandler:,然后你再做一次 as.submit()

一个或另一个 - 不是两者兼而有之。

第一次提交表单时,它会创建提交处理程序(正如您告诉它的那样.submit()),但实际上并没有运行它。

第二次运行它(因为您之前创建了它),然后再次创建它。每次你运行它,你都会得到更多。

于 2012-08-08T09:44:49.290 回答