在类型为“file”的输入元素上触发onchange事件时提交

时间:2011-06-30 23:52:34

标签: 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);

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

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

1 个答案:

答案 0 :(得分:0)

您收到错误了吗?

您遇到语法错误。这一行:

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

应该是

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

此外,您正在使用什么浏览器,因为挂钩事件的技术将不适用于所有这些(如非现代IE:))