我在使用 Internet Explorer (9) 时遇到了文件上传表单的问题。我的表单有点特别,因为我在两个输入上都模拟了次要行为:
- 对于input[type=file],用户选择文件后,我提交表单。
- 对于输入[type=submit],在他提交表单之前,我打开文件浏览器,一旦他选择了一个文件,我就提交它。
我的脚本适用于 Chrome 和 FF,但不适用于 IE。事实上,当我测试提交按钮时,表单没有发送,而当我使用 input[type=file] 时,我没有任何问题。
这是HTML:
<form name="up" action="/" method="post" enctype="multipart/form-data">
<div class="fileinputs">
<input type="file" name="FILE" size="38" class="file" id="upload" onchange="submitForm()" />
<input type="submit" value="BROWSE" name="ok" class="submit" id="submit_button_id" onclick="return check();" />
</div>
</form>
JS:
function submitForm() {
document.getElementById("submit_button_id").click();
}
function check()
{
var path = false;
document.getElementById('upload').click();
var filesent = document.getElementById("upload");
filesent.value === "" ? path = false : path = true;
if(!path){
return false;
}
return true;
}