4

私はjQueryを初めて使用し、単純なHTMLアップロードページを作成しようとしています.ファイルを選択した後、フォームに新しいファイル入力を追加したいと考えています. 私はこのコードを試しました

<form id="upload" action="upload.php" method="POST" enctype="multipart/form-data" onchange="addField();">
<label for="file">Soubor:</label>
<input type="file" name="files[]" id="file" /><br />
<input type="submit" name="Odeslat" value="Odeslat soubor" />
</form></body>
<script>
$('#upload').delegate('input[type=file]', 'change', function(){
  alert('Alert');
  addField();
});
</script>

そしてこの addField() 関数

function addField(){
  $('<input type="file" name="files[]" id="file" /><br />').insertAfter('#file');
};

しかし、このコードを実行すると、3 番目の入力フィールドが、最後のフィールドの後ではなく、1 番目の入力フィールドの後に挿入されます。これらの入力に一意の ID を使用せずに、最後のファイル入力の後に入力フィールドを追加することは可能ですか? http://jsfiddle.net/aHrTd/

助けてくれてありがとう。

4

4 に答える 4

8

これはどうですか - (フォームの最後input:fileを見つけて、その後に新しい入力を挿入します)

function addField(){
  $('form input:file').last().after($('<input type="file" name="files[]" class="file" /><br />'));
}
于 2013-06-19T21:25:40.700 に答える