1

これを投稿するのは少しばかげているように感じます。これまで読んできたものからはかなり簡単に思えるから1ですfiles.length

<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.2.js" type="text/javascript"></script>
<script>
    $(document).ready(function() {
        var button = $('#button');
        button.click(function(){    
           var files = $('#files');
           alert(files.length);
        });
     });
</script>
</head>
<body>
  <form>
    <input type="file" id="files" multiple="" />
    <input type="button" id="button" value="Upload" />
  </form>
</body>
</html>         
4

1 に答える 1

1

アラート行を次のように変更します。

alert(files[0].files.length);

これは、 FileListオブジェクトである入力 DOM 要素の files 属性を取得しようとしているためです。次に、選択されたオブジェクトの数を示す FileList の長さ属性が必要です。最初に jQuery で入力要素を選択していますが、$("#files") のような jQuery 選択の結果は jQuery コレクションです。入力要素の基になる DOM オブジェクトだけが files 属性を持っているため、それが必要です。すべての jQuery オブジェクトは配列としてマスカレードされるため、標準の配列逆参照を使用して、基になる DOM 要素を取得できます。(参照: http://api.jquery.com/get/ )

それを試してみてください!

于 2012-07-26T16:34:37.690 に答える