3

アップロード フォームを作成していますが、複数のファイルをアップロードする場合に jquery を使用する必要がある場合は、フォームに入力ファイル フィールドを追加してもらいたいと考えています。これは、これまでのところ動作していないコードです。これは js fiddle でも確認できます: http://jsfiddle.net/benpaton/JUJxn/

前もって感謝します。

$(function () {
    $('#add-more-files').click(function() {
       var cloned = $(this).prev().clone();
       cloned.val(null);
       $(cloned).insertBefore($(this));
    });
});

<ul>
    <form enctype="multipart/form-data" action="" method="post">
        <li>Choose a file to upload:</li>
        <li><input name="uploadedfile" type="file" size="40" /></li>
        <li><a href="" id="add-more-files">Add file upload box</a></li>
        <li><input type="submit" value="Upload File" /></li>
    </form>
</ul>
4

2 に答える 2

3

<li>要素を選択していません。また、アンカーが URL を解決しようとするのを防ぐために、アンカーにはハッシュが必要です。

jsフィドル

HTML

<ul>
    <form enctype="multipart/form-data" action="" method="post">
        <li>Choose a file to upload:</li>
        <li><input name="uploadedfile" type="file" size="40" /></li>
        <li><a href="#" id="add-more-files">Add file upload box</a></li>
        <li><input type="submit" value="Upload File" /></li>
    </form>
</ul>

JS

$(function () {
   //clone file upload box
   $('#add-more-files').click(function() {
      var cloned = $(this).parent().prev().clone();
      cloned.val(null);
      $(cloned).insertBefore($(this).parent());
   });
});

</p>

于 2012-05-31T23:42:37.307 に答える
1

存在しないものを選択しようとしているようです。$('#add-more-files').prev()空の jQuery オブジェクトになります。あなたが提供したセレクターに与えられたものがない$.prev()、前の兄弟を選択します。

私はあなたが何かを望んでいると信じています$(this).parent().prev().clone()

于 2012-05-31T23:41:57.763 に答える