我试图在用户填写传统形式字段(如用户名,电话等)的表单中使用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行和列作为formfields传递.任何指导将不胜感激.
最佳答案 可能最好的方法是使用隐藏的表单字段:
<input type="hidden" name="gridData" value="" />
然后,您将在表单提交之前使用列数据填充该字段.您可以通过在修改网格数据时更新字段,或者在按下按钮提交表单时调用JavaScript函数(以及从该函数中调用表单提交)来执行此操作.
要将网格数据写入隐藏字段,可以在网格的每一行上连续调用getRowData,并将每行的数据附加到数组.或许还有更好的方法.例如,有一个新的数据选项可能有用吗?无论如何,一旦有了网格数据,就可以使用json2.js将数据序列化为JSON格式:
JSON.stringify( myGridData );
然后在服务器上,您可以从此隐藏字段解码JSON,并相应地处理它.