2012-10-09 51 views
1

我試圖在PHP中使用jQuery.clone()創建一個可重複的字段(帶圖像預覽的上傳圖像輸入)。一切工作正常,除了克隆數據的返回。使用PHP和/或jQuery驗證克隆/可重複輸入

在我的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搜索全部標記爲已訪問,我發誓我沒有找到任何可以解決此問題的內容! 任何幫助將不勝感激,在此先感謝!

回答

0

你的意思是這樣的:

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

還是我讓你錯了

+0

感謝您的回覆! 您的代碼似乎有效,當我提交表單時,我注意到每個字段都獨立存儲了自己的數據,但克隆的字段不會在屏幕上返回,它會消失,但不會覆蓋以前的字段。當我再次克隆時,可以看到我在克隆字段的描述字段中輸入的值(在輸入的「自動完成」功能中),因此它已作爲獨立字段存儲在數據庫中! 我希望你明白我的意思! = X – KBRckr

0

請與本

嘗試使用輸入名稱圖像[]所以你會得到的值圖像作爲一個簡單的數組通過使用foreach你可以做你的驗證。

$arrValue = $_POST['image']; 

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

} 
+0

感謝您的回覆! 我試過你的代碼,它驗證了,但是當我提交克隆的字段時,它覆蓋了之前的輸入,並且克隆的字段消失了! – KBRckr