如何将jqgrid值作为formfields提交?

时间:2010-07-28 19:43:13

标签: jquery jqgrid

我正在尝试在用户填写传统表单域(如用户名,电话等)的表单中使用jqGrid。表单包含用于行项目的jqGrid,用户可以在其中添加/编辑/删除行,并在完成时,提交整个表格。我有网格工作,因为我希望它出现,我只是无法获得作为包含表单的一部分提交的网格的内容。

这是一个伪代码示例:

<form id="foo">
<input id="username" type="text">Your name<br>
Enter your choices in the grid below:
<!-- imagine jqGrid here -->
<input type="submit" value="Submit the form"></form>

我搜索过,谷歌搜索,阅读文档,阅读维基等,但只是看不到如何将jqGrid行和列作为表单字段传递。任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:2)

执行此操作的最佳方法可能是使用隐藏的表单字段:

<input type="hidden" name="gridData" value="" />

然后,您将在表单提交之前使用列数据填充该字段。您可以通过在修改网格数据时更新字段,或者在按下按钮提交表单时调用JavaScript函数(并从该函数中调用表单submit)来执行此操作。

要将网格数据写入隐藏字段,您可以在网格的每一行上连续调用getRowData,并将每行的数据附加到数组中。或许还有更好的方法。例如,有一个新的data选项可能有用吗?无论如何,一旦获得网格数据,就可以使用json2.js将数据序列化为JSON格式:

JSON.stringify( myGridData );

然后在服务器上,您可以从此隐藏字段解码JSON,并相应地处理它。