入力値が変更されるたびに(つまり、アップロードするファイルを選択するたびに)アップロードする前に入力ファイルのサイズをチェックするJavaScriptコードが必要です。毎回ではなくJavaScript関数を1回だけ呼び出す
は、これまでのところ、私はこの思い付いた:
var file = document.getElementById("myFile");
file.addEventListener('change', function() {
if (this.files[0].size > 2*1024*1024) {
alert('Max file size is 2 MB');
file.removeAttribute('value');
file.parentNode.replaceChild(file.cloneNode(true),file);
}
}
);
をしてHTMLは次のとおりです。
<form action="?" method="post">
<input type="file" id="myFile" name="myFile" />
<input type="submit" value="upload" />
</form>
さて、私はそのようなJavascriptのコードを残せば、それはでは動作しません。すべて。 しかし、私はこの
window.onload = function() {
// Same code above
}
それは動作しますが、のみ最初のファイルのユーザが選択のようにそれを変更した場合。
いつでも変更することができますいつでもユーザーがファイルを選択しますか? (jQueryのせずに可能な場合)
あなたはdocument.onload' 'にそれを変更してみてくださいもらえ参照してください? – nikjohn
ファイルが大きすぎると、要素が置き換えられ、イベントリスナーがなくなります。 –
@DustinToothless - それが役立つと思われる理由は何ですか? – Quentin