0

こんにちはnavGrid、追加アクションにこの定義があります。

Grid.id >> $("#<%=Me.Id & "_" %>lstPreciosSUD")

{ width: 350, resize: false, closeAfterAdd: false, recreateForm: true,
    clearAfterAdd:false, viewPagerButtons: true, afterComplete: estadoReplicado,
    ,afterSubmit: function(response) { 
                if (response.responseText == "OK") {

                    alert("we are inside");

                    var myInfo = '<div class="ui-state-highlight ui-corner-all">' +
                        '<span class="ui-icon ui-icon-info" ' +
                        'style="float: left; margin-right: .3em;"></span>' +
                        '<span>Registro insertado correctamente!</span></div>',
                    $infoTr,
                    $infoTd;
                    $infoTr = $("#TblGrid" + "<%=Me.Id & "_" %>lstPreciosSUD" + ">tbody>tr.tinfo");
                    $infoTd = $infoTr.children("td.topinfo");
                    $infoTd.html(myInfo);
                    $infoTr.show();

                    setTimeout(function () {
                        $infoTd.children("div")
                            .fadeOut("slow", function () {
                                  $infoTr.hide();
                            });
                    }, 6000);

                        //alert("Registro creado.");
                        return [true,''];
                } 
                else { 
                        return [false, "Error creando precio de suplemento!"];
                } 
            },
    beforeSubmit: function(postdata){ 
        if ((postdata.tpb_importe == "") || (postdata.fini == "") || (postdata.ffin=="")) {
            return[false,"Importe y fechas es obligatorio!"]; 
        } else { return [true,""] }
    }
}}

2 番目または日付の入力が空の場合、このリターン ( ) は、次のようなreturn [false,"Importe y fechas es obligatorio!"] "ダイアログで赤いメッセージを返しますhttp://i.imgbox.com/ackwIZvQ.jpgbeforeSubmit

closeAfterAdd:falseこの場合はandを使用する必要がclearAfterAdd:falseありますが、知りたいので、afterSubmitこれを行うための小さな関数ですべて問題ない場合は緑色の (たとえば) メッセージを表示するために使用すると思いますが、上記のafterSubmit関数を使用すると、そのOK、エラー メッセージなどのメッセージを表示しないでください。OK メッセージを表示することはできますか? エラーがある場合は、新しいレコードを追加する方法をバックグラウンドで見ることができない赤い色で表示されますが、ダイアログにはメッセージが表示されません。

ありがとう。

4

1 に答える 1

2

あなたが正しいことを理解していれば、回答にそのような実装の例があります(デモを参照)。標準のエラー メッセージが追加されるのと同じ方法でカスタム テキストを追加する方法を示します。デモでは、読み込みをシミュレートerrorTextFormatするためだけに使用しました。で成功メッセージを表示するコードを移動する必要があります。afterSubmit

更新: のコードは次のafterSubmitように見える可能性があります (コードはテストしていません)

afterSubmit: function (jqXHR) {
    var myInfo = '<div class="ui-state-highlight ui-corner-all">' +
            '<span class="ui-icon ui-icon-info" ' +
            'style="float: left; margin-right: .3em;"></span>' +
            '<span>The row is successfully added</span></div>',
        $infoTr,
        $infoTd;

    if (jqXHR.responseText !== "OK") {
        return [false, jqXHR.responseText];
    }

    $infoTr = $("#TblGrid_" + $.jgrid.jqID(this.id) + ">tbody>tr.tinfo"),
    $infoTd = $infoTr.children("td.topinfo");
    $infoTd.html(myInfo);
    $infoTr.show();

    // hide the info after 3 sec timeout
    setTimeout(function () {
        $infoTd.children("div")
            .fadeOut("slow", function () {
                // Animation complete.
                  $infoTr.hide();
            });
    }, 3000);
}
于 2012-12-17T11:06:33.720 に答える