使用Javascript提交表单';行不通

使用Javascript提交表单';行不通,javascript,html,forms,Javascript,Html,Forms,我有一个上传文件的简单表单。如果我使用普通的submit按钮,则一切正常: <form id="mainform" method="post" action="/" enctype="multipart/form-data"> ... <input type="submit" id="submit" value="Analyze File"/> </form> <input type="submit" id="mainform_submit" valu

我有一个上传文件的简单表单。如果我使用普通的submit按钮,则一切正常:

<form id="mainform" method="post" action="/" enctype="multipart/form-data">
...
<input type="submit" id="submit" value="Analyze File"/>
</form>
<input type="submit" id="mainform_submit" value="Analyze File"/>

...
但如果我将其更改为普通按钮并使用Javascript提交表单,则不会发生任何事情:

<input type="button" id="submit" value="Analyze File" onclick="document.getElementById('mainform').submit()"/>


我验证了onclick处理程序是否真的被调用,并正确地查找表单。例如,如果我将其更改为
onclick=“alert(document.getElementById('mainform').action)”
,则会按预期显示警报并显示表单的目标URL。但是由于某些原因,调用submit()根本不会提交表单。

问题在于您的
submit
按钮。其id为
submit
,这意味着
document.getElementById(“mainform”).submit
表示id为
submit
的按钮,而不是
submit
功能


您只需更改该按钮的ID,就可以了。

您的
.submit()
方法与以下方法之间存在命名冲突:

<input type="submit" id="submit" value="Analyze File"/>

@kol:w3schools不是JavaScript代码的好源代码。另外,他的代码与此有何不同?他也在做同样的事情,