pea*_*man 5 html javascript forms
我有一个简单的上传文件的表格.如果我使用普通的提交按钮,一切都按预期工作:
<form id="mainform" method="post" action="/" enctype="multipart/form-data">
...
<input type="submit" id="submit" value="Analyze File"/>
</form>
Run Code Online (Sandbox Code Playgroud)
但是,如果我将其更改为普通按钮并使用Javascript提交表单,则没有任何反应:
<input type="button" id="submit" value="Analyze File" onclick="document.getElementById('mainform').submit()"/>
Run Code Online (Sandbox Code Playgroud)
我验证了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"/>
Run Code Online (Sandbox Code Playgroud)
通过这样id,对它的引用被赋给了它的submit属性<form>,它取代了该方法.
如果你重命名<input>,你应该能够.submit()如预期的那样:
<input type="submit" id="mainform_submit" value="Analyze File"/>
Run Code Online (Sandbox Code Playgroud)