javascript - 当类型为 "file"的输入元素上触发onchange事件时提交

标签 javascript forms submit onchange

我尝试使用文件类型的输入元素的 onchange 事件提交表单,但问题是即使选择了文件,也会提交空表单。

这是代码:

var form = document.createElement("form");
form.action="http://localhost:8084/upload/image";
form.method="post";
form.enctype ="multipart/form-data";
form.target="upload_target";

var input=document.createElement("input");
input.type="file";
input.accept="image/jpeg, image/gif, image/png";
input.onchange=function(ev){this.form.submit()};
form.appendChild(input);

单击提交按钮时表单可以正确提交,但“文件输入”的状态更改时则无法正确提交。

有办法实现我想要做的事情吗?

最佳答案

您遇到错误了吗?

您有语法错误。这一行:

input.onchange=function(ev){this.form.submit());

应该是

input.onchange=function(ev){this.form.submit()};

此外,您使用的浏览器是什么,因为 Hook 事件的技术不适用于所有浏览器(例如非现代 IE :))

关于javascript - 当类型为 "file"的输入元素上触发onchange事件时提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6542301/

相关文章:

html - 造型 radio 输入问题

javascript - 运行discord bot时出现错误代码(JS)

javascript - Rails javascript window.location 不工作

javascript - Auth0 不会在电子邮件/密码的页面刷新时保持登录

javascript - 调用 Meteor 方法导致内部服务器错误 [500]

javascript - 选择表单中的第 N 个输入元素

php - 通过表单数据更新mysql保留旧值

java - 安卓 Java : Error when submit form(post) on Webview

php - 删除 submit.x 和 submit.y 但保留 URL 中的其他值

html - 提交失败后更改输入字段的颜色