jqGrid - 默认添加/编辑按钮 - 处理服务器响应

Dan*_*Dan 14 jqgrid

我正在研究我的第一个jqGrid实现.我正在使用navGrid中出现的标准添加/编辑按钮,但是当我在编辑/添加表单中单击"提交"时,我在识别服务器响应的过程时遇到了问题.

.navGrid("#product-codes-footer",{edit:true,add:true,del:false},
{afterShowForm:afterShowEdit}, {afterShowForm:afterShowAdd} );
Run Code Online (Sandbox Code Playgroud)

是否有一个标准的回调或事件参数我在这方面遗漏了什么?有没有办法定义如何saveRow调用或是否有我可以实现的默认成功/错误回调方法?

任何方向都会非常感激!!!

Dan*_*Dan 15

似乎有一些我无法完全阅读和理解的事件参数......

API - > http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing#editgridrow

使用afterSubmit和afterComplete的事件参数,我可以处理服务器响应并更新表单.

- 担

编辑 以下是使用代码的示例...

.navGrid(
        "#product-codes-footer",
        {edit:true,add:true,del:false}, 
        {
            afterShowForm:afterShowEdit, 
            afterSubmit:processAddEdit,
            beforeSubmit:validateData,
            closeAfterAdd: true,
            closeAfterEdit: true
        }, 
        {
            afterShowForm:afterShowAdd, 
            afterSubmit:processAddEdit,
            beforeSubmit:validateData,
            closeAfterAdd: true,
            closeAfterEdit: true
        } 
);
function afterShowEdit(formId) {

            //do stuff after the form is rendered
        }
        function afterShowAdd(formId) {

            //do stuff after the form is rendered
        }
        function processAddEdit(response, postdata) {
            var success = true;
            var message = ""
            var json = eval('(' + response.responseText + ')');
            if(json.errors) {
                success = false;
                for(i=0; i < json.errors.length; i++) {
                    message += json.errors[i] + '<br/>';
                }
            }
            var new_id = "1";
            return [success,message,new_id];
        }
Run Code Online (Sandbox Code Playgroud)