2012-05-10 13 views
0

私はオプションの順序に変更できるWordpressプラグインに取り組んでいます。オプションはPHPの配列として格納されていますupdate_option('box_order',$box_array);並べ替えのドラッグを許可するjQuery UIを持つページに、これらのボックスの配列を順番にエコーアウトしました。フォーム提出を介してPHP配列にJavascript配列を渡します。

私はこれを並べ替えのために耳を傾け、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 

を経由してこの関数を呼び出して、すべてが正常に動作し、私は入力[タイプ=テキスト]シャッフルで新しい注文を表示するを取得します。

ただし、送信ボタンがあり、注文が完了したらフォームを送信する必要があります。既存のプラグインを修正することはできません。このPHPプラグインは入力内容と呼び出しを受け取りますupdate_option('box_order',$_POST['input_name']);

JavaScriptの配列をphp配列の構文と正確にマッチさせる方法はありますか?フォームの送信時に、私はコントロールを持っていないプラグインを介してWordpressのオプション。私はそれが驚きプロジェクトであるので、プラグインの名前を付けたくありませんが、私はオープンソースの追加を構築しています。

私はJSON.stringify()などについて知っていますが、入力自体の$ _POSTだけがPHPプラグインによってリッスンされるため、これはオプションではありません。

ありがとうございます!

+0

、私は理解していれば、あなたがこのような何かを使用する必要があり訂正:のを。 POSTでは、これは$ _POST [some_name] ['array_key'] = 'qwerty'のようになります。 – ZigZag

答えて

1

私は2つのことを考えることができます:

  1. は動的<input name="input_name" />ボックスを作成し、通常どおりにフォームを送信します。これは私の好みを持っていないだろう、それはちょっとハッキリだ。

  2. input_name: jQuery.param(order)を使用してAJAXを使用して配列をシリアル化し、PHPをPOSTデータを配列として扱うフォーマットにします。参照してください:だからhttp://api.jquery.com/jQuery.param/

+0

あなたの助けをありがとう、これは別のアプローチですが、私は私の元の計画をスクラップして、このようにしなければならないかもしれません。再度、感謝します! – JackMahoney

関連する問題