0

jQgridバリデーションのカスタム関数でajax呼び出しを使ったのですが、

これが私の機能です

function customFuction(value1, colname) {
    var result = null;
    $.ajax({
        url: "../ajax/check_269.php",
        type: "POST",
        data: {
            val: value1,
            col: colname,
            parentId: row_id
        },
        dataType: "html",
        async: false,
        success: function (data) {
            if (data == "error") {
                result[false, value1 + "no se permite"];
            } else {
                result[true, value1 + "Success"];
            }
        },
        error: function () {
            alert('Error trying to validate car ');
        }
    });
    return result;
}    

それは私にこのようなエラーを与えます

TypeError: result is null
4

2 に答える 2

0

まず、変数successはコールバック内で変更されませんsuccess。行を変更する必要があります

result[true, value1 + "Success"];

result = [true, value1 + "Success"];

result[false, value1 + "no se permite"];同じ方法で行を変更します。

主な問題は、サーバー側の検証機能が必要ないことです。データが保存される場合、サーバーは入力データの検証を行う必要があります。データが間違っている場合、サーバーはエラーの説明とエラー HTTP コードを返す必要があります。たとえば、フォーム編集を使用する場合は、errorTextFormatコールバックを指定して、エラーが発生した場合にサーバーの応答をデコードできます。デフォルトでは、jqGrid はエラー サーバー応答の本文を HTML フラグメントとして解釈し、サーバーに表示します。

于 2013-06-28T06:33:05.687 に答える