2013-08-29 36 views
0

我已經看過一些類似的帖子,但找不到答案或解決方案。追加發生後,我提交表單和var出來是空的。我檢查了html,在追加輸入字段後,它看起來不錯:

<input type="hidden" name="imgdelete[]" value="5"> 

請幫忙,花了3個多小時。謝謝

JQUERY

$('a.delete-img').bind('click',function() 
{ 
    var imgid = $(this).attr('id'); 

    // add hidden field to let php know that this image was deleted 
    $('<input>').attr({ 
     type: 'hidden', 
     name: 'imgdelete[]', 
     id: imgid, 
     value: imgid 
    }).prependTo('.tablepics tr:last'); 
}); 

HTML

<html> 
<head></head> 
<body> 
<form action="" method="post" id="editCarForm" novalidate="novalidate" enctype="multipart/form-data"> 
<table border="0" cellpadding="0" cellspacing="0" class="tablepics" id="id-form"> 
     {foreach from=$CARIMGS item=carimg} 
     <tr class="car-row"> 
     <td id="{$carimg.imgid}"> 
      <a class="fancybox" href="../{$carimg.img}"> 
       <img width="{$THUMB_WIDTH}" alt="" src="../{$carimg.thumb}"/></img> 
      </a> 
     </td> 
     <td style="padding:5px" id="{$carimg.imgid}"> 
      <input type="text" id="imgorder" name="imgorder[{$carimg.imgid}]" value="{$carimg.order}" size="2" maxlength="2" /> 
      <br><br> 
      <a href="javascript:void(0);" id="{$carimg.imgid}" class="delete-img">delete</a><br> 
     </td> 
     </tr> 
     {/foreach}  
     <tr> 
     <br> 
     </tr> 
     <tr> 
      <th>Images: </th> 
      <td><input name="upload[]" type="file" accept="image/*" multiple="multiple" /></td> 
     </tr> 

     <tr> 
      <th>&nbsp;</th> 
      <td valign="top"> //this would be last one 
       <input type="submit" value="" class="form-submit" /> 
       <input type="reset" value="" class="form-reset" /> 
      </td> 
     </tr> 
</table> 
</form> 
</body> 
</html> 
+2

是你的'

'元素? – Sergio

+0

我沒有看到''......如何提交任何內容? –

+0

嘗試更改'name:'imgdelete []','只是'name:'imgdelete','因爲您的表單已經包含'[]' –

回答

1

試試這個:

$('a.delete-img').bind('click',function() 
{ 
    var imgid = $(this).attr('id'); 

    // add hidden field to let php know that this image was deleted 
    $('<input>').attr({ 
     type: 'hidden', 
     name: 'imgdelete[]', 
     id: imgid, 
     value: imgid 
    }).prependTo('#editCarForm'); 
}); 

這就將隱藏字段到表外的形式。您的代碼創建了無效的DOM,因爲您有<input>元素作爲<tr>的直接子元素,這是不允許的。

+0

工作,謝謝。沒有意識到DOM會剎車。學到了新東西。 – Tatarin