Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onclick之间的差异=“;document.forms[0]。提交()&引用;并提交表格_Javascript_Html - Fatal编程技术网

Javascript onclick之间的差异=“;document.forms[0]。提交()&引用;并提交表格

Javascript onclick之间的差异=“;document.forms[0]。提交()&引用;并提交表格,javascript,html,Javascript,Html,在一张表格里我有一个按钮。当我像这样通过JavaScript提交表单时,两者之间有什么区别 <button onclick="document.forms[0].submit();"> 当我像这样提交的时候 <button type="submit"></button>? ? 除基于webkit的浏览器外,第一种适用于大多数浏览器。后者也很好。对我来说,功能上没有明显的区别。有吗?javascript示例将提交HTML文档中的第一个表单,而第二个示例

在一张表格里我有一个按钮。当我像这样通过JavaScript提交表单时,两者之间有什么区别

<button onclick="document.forms[0].submit();">

当我像这样提交的时候

<button type="submit"></button>?

除基于webkit的浏览器外,第一种适用于大多数浏览器。后者也很好。对我来说,功能上没有明显的区别。有吗?

javascript示例将提交HTML文档中的第一个表单,而第二个示例将提交包装该按钮的表单。

正如您所发现的,第一个示例使页面在某些情况下无法工作,并且由于这一点和其他原因,通常被认为是不好的做法。使用第二个。文档。表单[0]。提交将触发HTML页面中第一个表单的提交。实际上,
documents.forms
包含文档的所有表单。您可以使用它们的名称属性或索引来访问它们。

然后,在表单中输入
submit
类型将触发其父表单的提交。

第一个示例:

<button onclick="document.forms[0].submit();">
只需提交表格(如果有)

在我看来,第二种选择肯定更可取,原因有几个,包括但不限于:

  • 即使用户禁用了JS,它也会工作
  • 它不会用
    表单[0]
    硬编码表单索引
  • 它更短更清晰
  • 它不会与其他表单提交验证冲突

  • 在我的案例中,第一个在铬和番红花中效果很好。那么,两种方式之间的区别是什么呢。一个可以,另一个不行。我想你应该启用javascript,然后它就像我说的那样工作-表单确实应该通过javascript提交,通过点击执行javascript的按钮提交文档中的第一个表单…我从来没有说过它没有。但我想我的处境相当独特。通过Javascript发布时,提交帖子,内容类型:text/html;charset=设置为UTF-8,在没有javascript的情况下发布时,类型为:text/html;charset=设置为ISO-8859-1Thanks,这并不是我想要的,但我的问题不够具体。我想我的处境相当独特。通过基于webkit的浏览器通过Javascript发布时,将提交帖子,内容类型:text/html;charset=设置为UTF-8,在没有javascript的情况下发布时,类型为:text/html;charset=设置为ISO-8859-1对不起,我不知道为什么字符集会不同。
    <button type="submit"></button>