我有以下代码来提交表单并调用 PHP 脚本。
<script>
function handleBrowse()
{
$('#uploadedfile').click();
}
function displayFilePath(obj)
{
document.getElementById('dummyFilePath').innerHTML = obj.value;
}
</script>
<div id="dummyFilePath" class="dummyFilePath"></div>
<input type="button" value="Browse" onclick="handleBrowse();"/>
<form enctype="multipart/form-data" action="../php/uploader.php" method="POST" target="myiframe">
<input type="file" id="uploadedfile" name="uploadedfile" onchange="displayFilePath(this)" style="display:none"/>
<input type="submit" value="Upload File" />
</form>
<iframe name="myiframe" id="myiframe" src="" width=1 height=1 style="visibility:hidden;position:absolute;bottom:2px;"></iframe>
在 Firefox 中,我只需单击一次即可提交。但是在IE中,我需要点击两次!
你能解释一下为什么吗?
请在 IE 上运行这个 jsFiddle来查看问题。您可以清楚地看到,一旦您浏览要上传的文件,除非您按两次上传文件按钮,否则表单的操作不起作用。
PS:IE中的双击问题可以按照以下答案的建议解决,但这会导致上传的文件永远无法到达目的地(uploader.php);只有它的名字