下面是页面的代码,但是,您将在头部看到我已经放入了javascript,它应该检查是否有通过位于底部的文件上传输入字段选择的文件码。在检测到文件选择后,它应该自动提交表单,但由于某种原因它不会自动提交。为什么这不起作用?提前谢谢!
JavaScript :(在head
)
<head>
<script type="text/javascript">
document.getElementById("photofield").onchange = function() {
document.getElementById("form").submit();
}
</script>
</head>
HTML(表单):
<form enctype="multipart/form-data" action="photoupload.php" method="post" id="form">
<input type="hidden" name="MAX_FILE_SIZE" value="524288">
<p><input id="photofield" type="file" name="upload" /></p>
</fieldset>
<div align="center"><input type="submit" name="submit" value="Submit" /></div>
<input type="hidden" name="submitted" value="TRUE" />
</form>
答案 0 :(得分:0)
这是因为您有一个名为submit button
的输入元素(submit
),如果您将提交按钮的名称更改为submit
以外的其他内容,则会出现问题例如,将您的提交按钮代码更改为btn_submit
而不是submit
<input type="submit" name="btn_submit" value="Submit" />
现在试试这个
window.onload = function(){
document.getElementById("photofield").onchange = function() {
document.getElementById("form").submit();
};
};
名称为submit
,会引发以下错误
Uncaught TypeError: Property 'submit' of object #<HTMLFormElement> is not a function
它将属性submit
设置为HTMLFormElement
,因此无法执行表单元素的submit
中的方法prototype
,请检查{{3} }(仅在Chrome中测试过)。
此外,在窗口this working example(也请阅读onload并阅读addEventListener)事件中注册事件非常重要,因为当您的代码在{{{}中运行时,表单不可用1}}部分,它会抛出以下错误
head