首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在表单编辑中使用afterSubmit of jqGrid

如何在表单编辑中使用afterSubmit of jqGrid
EN

Stack Overflow用户
提问于 2014-04-08 11:04:18
回答 2查看 2.6K关注 0票数 1

我有一个jqGrid,我正在做的形式编辑。获取值低于值的选项。

代码语言:javascript
运行
复制
$("#usergrid").jqGrid('navGrid',"#usergridpager",{add:true,edit:true,del:false,search:false,refresh:true},{},{},{}}

如果在DB中添加数据时发生了什么错误,我想要一些错误消息。我试过

代码语言:javascript
运行
复制
    // add options
    {closeAfterAdd:true, 
     closeOnEscape:true, 
     url: "adddata.html",
     recreateForm:true,
     afterSubmit : function(response, postdata) {
        return [false, response.responseText, ""];
        // Tried with return [true, response.responseText, ""]; and few more
     } 
  },{}

我正在尝试插入现有的数据(主键冲突),以便我可以测试上述方法,但不显示任何消息。但是服务器控制台正在获得正确的失败日志。相反,在弹出窗口的顶部,我得到了

"error Status: 'Internal Server Error'. Error code: 500"

如何自定义这些消息并以小用户友好的形式显示它们。

更新-属性中的值在我的java代码中用一个Spring的控制器映射,它实际上正在执行所有的插入/更新。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-08 11:17:08

如果在表单编辑结束时收到成功的响应,将调用回调。如果保存数据的HTTP请求失败,则将处理errorTextFormat回调。

另外,建议在服务器代码中使用异常句柄。它主要允许产生更易读的错误,如“内部服务器错误。错误代码: 500”。通常,数据库操作期间的异常包含更多信息。我们可以捕获这样的异常并将一个可读的错误返回给客户端。

您应该更改afterSubmit的代码,以便区分成功的保存和不成功的保存。当前代码总是返回return [false, ...],这样jqGrid就不会停止编辑。

票数 2
EN

Stack Overflow用户

发布于 2014-04-08 12:29:12

如果您想用正确的消息在UI中显示服务器错误,那么我们不需要在java代码中处理任何类型的过度。就让它进入UI吧。编写如下代码

代码语言:javascript
运行
复制
{closeAfterAdd:true, closeOnEscape:true, url: "adddata.html",recreateForm:true,
    beforeShowForm: function(form) { 
    $('#tr_userId', form).show();
    },errorTextFormat : function(data){
      if (data.status == 500) 
          return data.responseText;  //Little HTML parsing you'll have to do
    }// add options
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22935056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档