0

このスクリプトをオンラインで見つけて、複数のファイル入力フィールドを追加しましたが、「追加」ボタンをクリックしたときに最大6つのフィールドしか必要ありません。

ただし、このスクリプトでは、ユーザーはフィールドを無制限に追加できます。入力フィールドの数を 6 つに制限し、次のようなデフォルト メッセージを表示するにはどうすればよいですか。

アップロードできる写真は 6 枚までです。

スクリプトは次のとおりです。

<script type="text/javascript">
   $(document).ready(function(){
   $('.add_field').click(function(){
     var input = $('#input_clone');
     var clone = input.clone(true);
    clone.removeAttr ('id');
    clone.val('');
    clone.appendTo('.input_holder'); 
    });
 });
  </script> 

そしてHTML:

    <span class="add_field">+</span>
    <span class="remove_field">-</span>
  <div class="input_holder">
    <input type="file" name="uploaded_files[]" id="input_clone"  />
  </div>
4

2 に答える 2

1

ファイル入力の数を数え、6 つ未満の場合は、別のファイルを追加できるようにします。試す:

 $('.add_field').click(function () {
     if ($('input[type=file]').length < 6) {
         var input = $('#input_clone');
         var clone = input.clone(true);
         clone.removeAttr('id');
         clone.val('');
         clone.appendTo('.input_holder');
     } else { alert('Only six allowed.') }
 });

jsFiddle の例

于 2013-05-29T19:19:37.213 に答える
0

たとえば、var counter

$(document).ready(function(){
   var counter = 0;
   $('.add_field').click(function(){
       if(counter <= 6)
           var input = $('#input_clone');
           var clone = input.clone(true);
           clone.removeAttr ('id');
           clone.val('');
           clone.appendTo('.input_holder'); 
           counter++;
      }else{
          alert('no more uploads!')      
      }
    });
 });
于 2013-05-29T19:20:51.433 に答える