1

私はこのバグを 1 時間以上修正しようとしてきましたが、まったくうまくいきません。私は何か単純なものを見逃しているかもしれませんし、それ以外のことを認識していないだけかもしれません。とにかく、ここに事があります:

バリデーターに検証メソッドを追加しようとしていますが、これが問題を引き起こしているようです。これが私のコードです:

jQuery.validator.addMethod("isGroupExist", function() {
        var result_value = true;
        $.post('/includes/script_files/isGroupExist.php',   {   authorized: true, 
                                                                groupName: $('#groupName').val() }, function(returnedData) {
            alert(returnedData);
            if(returnedData=='true')
                result_value = false;
            else
                result_value = true;

        });
        return result_value;
    }, "Group Name already exists, please pick a different one."
    );

私がこれをどのように書いたかに注意を払わないでください。問題を解決するためにいくつかのアプローチを試しただけです。とにかく、問題は、割り当てられた変数が「false」に等しい場合でも、「result_value」が「false」として返されないことです。それが明らかに想定されていない場合でも、それは永遠に「真実」のままです。関数を再確認したところ、外部ファイルを含め、すべて正常に動作しました。「returnedData」は「true」として返されることもあれば「false」として返されることもありますが、その値にもかかわらず、「result_value」は更新されません。

何か案は?

4

1 に答える 1

0

この問題を自分で解決できたようですが、多くの研究努力が必要でした。

$.validator.addMethod("isGroupExist",function(value,element){
        var result =    $.ajax({
                            url: "/includes/script_files/isGroupExist.php",
                            type: "POST",
                            async: false,
                            //data: "action=checkusername&username="+username,
                            data: "authorized=true&groupName="+value,
        }).responseText;
        return result==="good"?false:true;
    },"Group Name already exists, please pick a different one.");
于 2013-06-08T04:44:45.690 に答える