Как использовать HTML5 File API с ненавязчивым JavaScript? - PullRequest
2 голосов
/ 21 июля 2011

Я хотел бы использовать HTML5 File API с ненавязчивым JavaScript.Но я могу заставить его работать, только вызывая функции JavaScript из HTML.Есть ли способ использовать File API с ненавязчивым JavaScript?

File API поддерживается не всеми браузерами, но я пробовал это в Google Chrome и Firefox.

Из документацииэто работает:

<input type="file" id="input" onchange="handleFiles(this.files)">

И я попробовал с этим ненавязчивым JavaScript, который не работает:

window.onload = function() {
    var input2 = document.getElementById('input2');
    input2.addEventListener('onchange', handleFiles);
}

Полный пример приведен ниже, и тестируется на jsFiddle .

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script>
window.onload = function() {
    var input2 = document.getElementById('input2');
    input2.addEventListener('onchange', handleFiles);
}

function handleFiles(e) {
    alert('got files');
}
</script>
</head>
<body>
<h1>Test</h1>
<input type="file" id="input1" onchange="handleFiles(this.files)"/>
<input type="file" id="input2"/>
</body>
</html>

Ответы [ 2 ]

7 голосов
/ 21 июля 2011

Попробуйте:

window.onload = function() {
    var input2 = document.getElementById('input2');
    input2.addEventListener('change', handleFiles,false);
    //                       ^not onchange        ^older firefox needs this
}

jsfiddle здесь

3 голосов
/ 21 июля 2011

не обмен, а

input2.addEventListener('change', handleFiles);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...