【问题标题】:submitting when onchange event is triggered on an input element with type "file"在“文件”类型的输入元素上触发 onchange 事件时提交
【发布时间】:2011-06-30 23:52:34
【问题描述】:

我正在尝试使用类型为 file 的输入元素的 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);

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

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

【问题讨论】:

    标签: javascript forms submit onchange


    【解决方案1】:

    你遇到错误了吗?

    您有语法错误。这一行:

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

    应该是

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

    另外,您使用的是什么浏览器,因为挂钩事件的技术在所有浏览器中都不起作用(例如非现代 IE :))

    【讨论】:

    • 它在任何浏览器上都不起作用(表单实际提交但它只是空的......)
    猜你喜欢
    • 2021-07-07
    • 1970-01-01
    • 2017-07-10
    • 2019-08-05
    • 2018-10-22
    • 2013-09-03
    • 2011-10-01
    • 1970-01-01
    • 2022-11-12
    相关资源
    最近更新 更多