有没有办法使用JavaScript保证在所有情况下都可以使用?
我详细说明.常见的方法似乎是:
formElement.submit()
Run Code Online (Sandbox Code Playgroud)
这一切都很好,除了一件事.表单的字段可用作属性formElement,因此如果存在名称或标识为 "text1" 的字段,则可以将其作为formElement.text1.
这意味着如果一个元素被称为"提交"(无论是它的名字还是它的id),那么formElement.submit()它将不起作用.这是因为formElement.submit不是表单的方法,而是具有该名称的字段.不幸的是,提交按钮具有"提交"名称或ID是相当普遍的.
两个例子来说明我的观点.首先,以下内容不起作用,因为表单的元素名称为"submit":
<form name="example" id="example" action="/">
<button type="button" name="submit" onclick="document.example.submit(); return false;">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
以下将工作.唯一的区别是我从表单中删除了名称"submit":
<form name="example" id="example" action="/">
<button type="button" onclick="document.example.submit(); return false;">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
那么,还有其他方法可以使用JavaScript提交HTML表单吗?