0

皆さん、これが私の最初の質問です。学生の名前と試験の点数を入力するための入力フィールドを表示するテーブルがあります。テーブルヘッダーには、サブジェクト(whileループ内)が表示され、すべてのサブジェクトの最大マークを入力するための入力フィールドがあります。この最大マークはAjaxを通じて更新されます。それは適切に起こっていません。初めて送信を押すと、何も起こりません。2回目に送信を押すと送信します。3回押すと2回更新され、4回押すと3回更新されます(成功メッセージには3回表示されます)コード-

<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

送信ハンドラーが2回あります。一度submitHandler:、そしてあなたは再びそれをします.submit()

どちらか一方-両方ではありません。

フォームが最初に送信されると、送信ハンドラーが作成されますが(で指定したとおり.submit())、実際には実行されません。

2回目に実行し(以前に作成したため)、次に再度作成します。あなたがそれを実行するたびに、あなたはそれらのより多くを手に入れます。

于 2012-08-08T09:44:49.290 に答える