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,""] }
    }
}}

在第二个或日期的输入中,如果为空,则此 return ( return [false,"Importe y fechas es obligatorio!"] ") 在对话框中向我返回一条红色消息,beforeSubmit如下所示http://i.imgbox.com/ackwIZvQ.jpg

在这种情况下,我必须使用closeAfterAdd:falseand clearAfterAdd:false,但我想知道并且我认为使用afterSubmit显示绿色(例如)消息,如果一切正常,使用一点功能来执行此操作,但如果我使用上述afterSubmit功能,以及它的好的,不要显示任何消息,如错误消息,是否可以显示任何 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 回答