1

私がやろうとしていること:

非常にシンプルなビジュアル レイアウト ビルダーを構築しようとしています。アイデアは、ユーザーがブロックを選択し、そこにいくつかの設定があり、それらの設定値が非表示の入力に保存され、ユーザーがページを保存すると、それらの値がデータベースに保存されるということです。

基本ブロックは問題ありません:

たとえば、ユーザーが「テキスト」ブロックを選択すると、次のように追加されます。

<div>
    <input type="hidden" value="text" name="item_name[]">
    <input type="hidden" value="" name="item_title[]">
    <input type="hidden" value="sdsd" name="item_text[]">
</div>

問題:

ただし、一部のブロックでは、各フィールドに複数の値があります。たとえば、複数の画像の URL、画像のタイトルなどを持つ「ギャラリー」ブロックです。複数の値をまとめて送信する適切な方法を見つける際に問題に直面しています。

現在、__で区切られたjQueryを使用して文字列に追加しています。データを保存して分離することはできますが、問題は、画像を削除したい場合、文字列に追加したばかりであるため、非常に困難であり、見つけて削除するのが難しいことです。

<div>
text item
<input type="hidden" value="gallery" name="item_name[]">
<input type="hidden" value="__http://img1.jpg__http://img2.jpg" name="img_path[]">
<input type="hidden" value="__img1__img2" name="img_title[]">
<input type="hidden" value="" name="img_desc[]"></input>
</div>

質問:

複数の入力値を持つ複数のブロックが存在することを念頭に置いて、上記のブロックの例で複数の値を送信する適切な方法は何でしょうか?

ありがとう。

4

1 に答える 1

1
  1. すべての値でJavascript 配列を構築します。
  2. 配列を JSON に変換する
  3. 非表示フィールドの値として JSON を送信します
  4. サーバー側では、PHP json_decode関数を使用して JSON を PHP オブジェクトまたは配列に変換します。
于 2013-10-02T20:23:39.530 に答える