无法上传动态插入的输入

时间:2016-11-30 15:25:55

标签: javascript jquery html

我有一个表单和一个按钮(链接),它在点击时添加了输入类型=文件,使用" insertBefore()"方法。 当我尝试使用创建的输入上传表单时,没有任何反应。但如果我自己设置输入,则可以成功上传。 这是大概的代码。

Works(我可以上传输入):

<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>

我想动态添加输入,然后全部上传。

我该如何解决这个问题?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您的代码有两个建议。

  1. 请勿使用##attachFile。它是一个无效的选择器。使用#attachFile
  2. 您可以直接在链接的javascript:addFileInput();属性中撰写href
  3. 这是一个有效的例子:

    <!-- 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:不要忘记在HTML中包含jQuery。 See this plunker了解更多详情。