通过表单提交将Javascript数组传递给PHP数组

时间:2012-05-10 12:07:24

标签: php jquery json forms post

好的,所以我正在开发一个Wordpress插件,允许将其更改为选项的顺序。该选项在php中存储为数组,即update_option('box_order',$box_array);我已经将这些框的数组回显到一个具有jQuery UI的页面,以允许拖动重新排序。

我听重新排序并通过JS调用此函数

var order = jQuery( "#sortable" ).sortable( "toArray" );//get array of ids in order
jQuery('input.order-display').val(order); //set input field val to order array

一切正常,我得到输入[type = text]在shuffle上显示新订单。

然而 - 我有一个提交按钮,一旦订购完成,我需要提交表格。问题是我正在使用一个无法修改的现有插件。此PHP插件获取输入内容并调用update_option('box_order',$_POST['input_name']);

你们有什么建议我如何使javascript数组完全匹配php数组的语法,以便在提交表单时,它用于通过我无法控制的插件更新Wordpress选项。我不想命名插件,因为它是一个惊喜项目,但我正在构建一个开源添加。

我知道JSON.stringify()等,但这不是一个选项,因为PHP插件只监听输入本身的$ _POST。

谢谢!

1 个答案:

答案 0 :(得分:1)

我可以想到两件事:

  1. 动态创建<input name="input_name" />框并按正常方式提交表单。这不是我的偏好,而是有点ha ..

  2. 使用AJAX发布到PHP中,使用input_name: jQuery.param(order)将数组序列化为一种格式,使PHP将POST数据视为数组。另见:http://api.jquery.com/jQuery.param/