Есть ли способ автоматически отправить форму без нажатия кнопки "отправить"?
У меня есть форма с одним входным файлом. Я бы добавил форму после того, как пользователь выбрал один файл.
Есть ли способ автоматически отправить форму без нажатия кнопки "отправить"?
У меня есть форма с одним входным файлом. Я бы добавил форму после того, как пользователь выбрал один файл.
да, вы можете использовать функцию form.submit(). Добавьте прослушиватель onchange на вход файла и привяжите его к функции form.submit, например:
<form action="upload.php" method="post">
<input type="file" onchange="this.form.submit()" name="myFile"/>
</form>
Да, вы можете добавить следующее к событию onchange
ввода файла:
<input type='file' .... onchange='this.form.submit();'>
это представляет форму сразу после того, как пользователь выбрал файл. Однако пользователь не может исправить ошибочный выбор перед отправкой - обязательно проверьте, действительно ли это разумно.
Это решение работает для меня.
<form enctype="multipart/form-data" method="POST" action="/upload">
<input id="myfilefield" type="file" name="file">
<input type="submit">
</form>
document.getElementById('myfilefield').onchange = function() {
this.form.submit();
};
Кстати, вам не нужно использовать flash. Gmail делает это с помощью XHR Level 2.
Я не верю, что вы можете это сделать. Браузеры очень, очень строгие в отношении того, что вы можете сделать, чтобы загрузить поля для загрузки из-за возможности злоупотребления. Если пользователь случайно выбирает частный файл, он не захочет, чтобы он немедленно начал загрузку этого файла на случайный сервер.
Я не уверен, какие ограничения существуют при создании HTML-формы.
Вы можете, однако, сделать это с помощью Flash. Gmail делает это - когда я нажимаю "Прикрепить файл", я получаю приглашение с диалоговым окном просмотра файлов, и когда я ОК, это диалог, загрузка начинается немедленно, а также дает мне индикатор выполнения.
Googling для "Flash uploader" предоставит вам много вариантов, но у меня нет опыта с ними.