2016-11-30 53 views
0

我有一個窗體和一個按鈕(鏈接),它使用「insertBefore()」方法在點擊時添加輸入類型=文件。 當我嘗試使用創建的輸入上載表單時,沒有任何反應。但是如果我自己設置輸入,它可以成功上傳。 這裏是近似代碼。無法上傳動態插入的輸入

工程(我可以上傳輸入):

<input type="File" name="attachEdit"> 

不工作(沒有任何反應,當我嘗試上傳插入輸入):

<a href="javascript: void(0);" id="attachFile" onclick="addFileInput(); return false;">Attach a file</a> 
<script> 
    function addFileInput(){ 
     $('<input type="File" name="attachEdit">') 
      .insertBefore("##attachFile"); 
    } 
</script> 

我要動態添加輸入和然後全部上傳。

我該如何解決問題?任何幫助表示讚賞。

+0

您正在選擇器中使用'## attachFile'。 – 31piy

+0

##好像是一個錯字。 – BjornJohnson

+0

您是否檢查過生成的HTML標記當前是否在表單內? –

回答

0

那麼你的代碼有兩個建議。

  1. 請勿使用##attachFile。這是一個無效的選擇器。使用#attachFile
  2. 您可以直接在鏈接的href屬性中編寫javascript:addFileInput();

這裏是一個工作示例:

<!-- trucated for brevity --> 
<body> 
    <input type="File" name="attachEdit"> 
    <a href="javascript:addFileInput();" id="attachFile">Attach a file</a> 

    <script> 
    function addFileInput() { 
     $('<input type="File" name="attachEdit">') 
     .insertBefore("#attachFile"); 
    } 
    </script> 
</body> 
<!-- trucated for brevity --> 

PS:不要忘了,包括jQuery的在你的HTML。 See this plunker瞭解更多詳情。