1

を使用して、PHP で繰り返し可能なフィールド (画像プレビュー付きのアップロード画像入力) を作成しようとしていますjQuery.clone()。クローン データが返されることを除いて、すべて正常に動作します。

私のPHPファイルには、次のものがあります。

$i = 0;
$valid_input['image'] = $input['image'][$i];

それから

return $valid_input;

画像アップロード入力で使用:

<input type="hidden" class="image" name="image[image]['.$i.']" value="'.$theme_options['image'].'" />
    <input type="button"  class="upload-button button" value="'. __( 'Upload Image', 'theme' ).'" />

$i の値は 0 に設定され、jQuery クローンでカウントされます。

問題は、送信後に複製されたフィールドが消えることです。元のフィールド「image['image'][0]」は保存され、有効として返されますが、他のフィールド (image['image'][1]、[2]、[3]...) は検証されません。 !

次のように値を変更すると$i:

$i = 1;
$valid_input['image'] = $input['image'][$i];

オリジナルが [0] でクローンが [1] であるため、元の入力は送信されず、クローンのみが送信されますが、送信後、クローンは [0] として返されます。

私は次のようなことを試しました:

$i = 0;
$valid_input['image'] = $input['image'][$i];
$i++; //-- I know, I'm stupid...this will not count the input!

お願いします、誰かこれを手伝ってくれませんか?複製されたフィールドを検証するにはどうすればよいですか? 私のGoogle検索はすべて訪問済みとしてマークされており、これを解決できるものは何も見つからなかったことを誓います! どんな助けでも大歓迎です、事前に感謝します!

4

2 に答える 2

0

次のような意味ですか。

for($i = 0; $i < count( $input["image"] ); $i++) {
   echo $input["image"][$i];
}

それとも私はあなたを誤解しましたか

于 2012-10-09T04:14:26.067 に答える
0

これで試してください

入力名を image[] として使用すると、検証を行うことができる foreach を使用して単純な配列として画像の値を取得できます。

つまり、

$arrValue = $_POST['image'];

foreach ($arrValue as $key=>$value) {
//do the operations here

} 
于 2012-10-09T04:45:58.153 に答える