質問

私はこれを少し愚かに投稿していると感じていますが、私が読んでいることからかなり簡単に見えるようになりますが、私は常に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>         
.

役に立ちましたか?

解決

アラート行を変更します。

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

これは、 FileList オブジェクト。次に length属性をお願いします。オブジェクトが選択されました。最初にjQueryを使用して入力要素を選択していますが、$( "#files")のようなjQuery選択の結果はjQueryコレクションです。これでファイル属性のみがあるため、入力要素の基礎となるDOMオブジェクトに必要なものがあります。すべてのjQueryオブジェクトはアレイとしてマスカレードされているので、標準の配列の間接参照を使用して基礎となるDOM要素を取得できます。 ( http://api.jquery.com/get/

試してみよう!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top