Php 如何在不使用隐藏文本框的情况下以表单形式发送Jqxgrid?

Php 如何在不使用隐藏文本框的情况下以表单形式发送Jqxgrid?,php,jquery,codeigniter,jqxgrid,Php,Jquery,Codeigniter,Jqxgrid,“我的CI视图”由一个网格组成,数据将动态添加到此网格。单击“保存”按钮时,数据将保存到数据库中。。 这是视图的屏幕截图。 [IMG]http://i40.tinypic.com/16a7dhl.png[/IMG] 当我提交表单时,网格数据首先存储在一个数组中,然后数组元素通过分隔符连接在一起形成一个字符串。该字符串存储在一个隐藏的文本框中,并与表单一起提交。提交后,在控制器中,它们被再次分离并存储在数据库中。我读到这种方法容易出错 是否有比上述方法更好的方法将表中的数据数组发送到控制器?我使用

“我的CI视图”由一个网格组成,数据将动态添加到此网格。单击“保存”按钮时,数据将保存到数据库中。。 这是视图的屏幕截图。 [IMG]http://i40.tinypic.com/16a7dhl.png[/IMG]

当我提交表单时,网格数据首先存储在一个数组中,然后数组元素通过分隔符连接在一起形成一个字符串。该字符串存储在一个隐藏的文本框中,并与表单一起提交。提交后,在控制器中,它们被再次分离并存储在数据库中。我读到这种方法容易出错


是否有比上述方法更好的方法将表中的数据数组发送到控制器?我使用了Jqxgrid。

您可以使用数组作为字段名称

<input type="hidden" name="field_name[]" value="foo">
<input type="hidden" name="field_name[]" value="bar">

使用jqxGrid的“getrows”将所有记录作为一个数组获取。

在上述情况下,我应该为网格的每个单元格使用文本框吗?JQxgrid中是否有将它们存储在数组中的选项?我是否应该将数组放入文本框中,以便在表单中传递它?是否有任何方法可以避免?我不这么认为。“getrows”fill返回所有加载行的数组。然后您可以在行中循环并构建一个字符串。从该字符串填充文本框或隐藏的文本框。另一个选项是将其导出到JSON,var data=$(“#jqxgrid”).jqxgrid('exportdata','JSON');然后用这些数据填充文本框。好的……我使用了json.stringify方法……使用getrows我在网格中循环得到一个数组,使用json.stringify(array_name)将数组转换为字符串,并将其存储在一个隐藏的文本框中……在控制器/服务器端,在php中使用json_解码将字符串转换回数组…至少我可以避免将数组从视图连接并拆分回我之前使用的控制器。。。
$post = $this->input->post();
extract($post);
foreach($field_name as $k => $v){
    $this->db->insert('tablename', array('fieldname' => $v));
}