我有一个简单的文件上传表单。选择文件后如何使其自动提交?我不希望用户必须单击提交按钮。
选择文件后如何自动提交上传表单?
IT技术
javascript
html
2021-02-07 15:41:22
6个回答
您可以submit
在onchange
输入文件时简单地调用表单的方法。
document.getElementById("file").onchange = function() {
document.getElementById("form").submit();
};
只需告诉file
-input 在任何更改时自动提交表单:
<form action="http://example.com">
<input type="file" onchange="form.submit()" />
</form>
此解决方案的工作方式如下:
该解决方案的优点:
- 无需
id
s 即可工作。如果在一个 html 页面中有多个表单,它会使生活更轻松。 - 原生javascript,不需要 jQuery 或类似工具。
- 代码在html-tags 中。如果您检查 html,您将立即看到它的行为。
使用jQuery:
$('#file').change(function() {
$('#target').submit();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="target" action="destination.html">
<input type="file" id="file" value="Go" />
</form>
带有onchange
事件的JavaScript :
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename" onchange="javascript:this.form.submit();">
</form>
$('#fileInput').change(function() {
$('#myForm').submit();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<form action="upload.php" id="myForm">
<input type="file" id="fileInput">
</form>
最短的解决方案是
<input type="file" name="file" onchange="javascript:document.getElementById('form').submit();" />
其它你可能感兴趣的问题