【问题标题】:How to define a 'before save' callback in jqGrid's 'action' formatter?如何在 jqGrid 的“动作”格式化程序中定义“保存前”回调?
【发布时间】:2012-01-21 06:38:28
【问题描述】:

我正在使用内置的“操作”格式化程序来编辑内联(行编辑)和删除。

问题是我想通过 ajax 进行验证(因此,可以保存返回 true 字段)但我无法在保存状态中添加任何“保存前”回调。

Image with an example of the view.

我用来定义 Actions col 的 colModel:

{name: 'Actions', formatter: 'actions',
                  editable: false,
                  search: false,
                  width: '50',
                  sortable: false,
                  resizable: false,
                  formatoptions:{
                      keys:true
                  }
}

【问题讨论】:

    标签: jquery jqgrid jqgrid-formatter


    【解决方案1】:

    在动作格式化程序的参数列表中,您可以定义onError 回调函数(参见the answer)。重要的是服务器返回一些错误状态代码,以防在保存数据期间出现任何类型的错误。验证将要发送的数据就是此类错误的示例之一。

    更新:答案很老了。内联编辑支持beforeSaveRow 很长时间了(正弦版本4.5.3)。然而,回调提供客户端验证。问题是关于通过 Ajax 向服务器发出请求的服务器端验证。在这种情况下,onError 仍然几乎是唯一的好方法。服务器只需设置对应 HTTP 错误 (>=400) 的 HTTP 状态码。只有当服务器无法设置 HTTP 错误代码时,才能使用successfunccallbackalternatively, which correspondsonSuccessinformatter: "actions"。如果验证错误,回调应该返回[false, "error description"]

    【讨论】:

      猜你喜欢
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多