Существует способ автоматически отправить форму, не нажимая к "отправлять" кнопке?
У меня есть форма с одним входом "файла". Я отправил бы форму после того, как пользователь выбрал один файл.
Да, вы можете использовать функцию 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();'>
это отправляет форму сразу после того, как пользователь выбрал файл. Однако пользователь не может исправить ошибочный выбор перед отправкой - обязательно проверьте, действительно ли это разумно.
Я не верю, что вы можете это сделать. Браузеры очень, очень строго в отношении того, что вы можете сделать с полями загрузки файлов, из-за возможности злоупотребления. Если пользователь случайно выберет закрытый файл, он не захочет, чтобы он немедленно начал загрузку этого файла на случайный сервер.
Я не уверен, какие ограничения существуют при выполнении этого в HTML-форме.
Однако вы можете сделать это с помощью Flash. Gmail делает это - когда я нажимаю «Прикрепить файл», у меня появляется диалоговое окно просмотра файла, и когда я нажимаю на это диалоговое окно, загрузка начинается немедленно, а также отображается индикатор выполнения.
Поиск в Google по запросу «Flash-загрузчик» предложит вам множество вариантов, но у меня нет опыта ни с одним из них.