我尝试使用文件类型的输入元素的 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/