输入类型='按钮'/比;And <input type='/比;

HTML <input type='button' /><input type='submit' />之间的区别是什么?

227019 次浏览

<input type="button" />按钮不会提交表单——默认情况下它们什么都不做。它们通常作为AJAX应用程序的一部分与JavaScript一起使用。

<input type="submit">按钮将在用户单击它们时提交它们所在的表单,除非您使用JavaScript另有指定。

表单的第一个提交按钮也是为隐式提交点击的按钮,即在文本输入中按enter键。

“按钮”只是一个按钮,你可以使用Javascript添加额外的功能。“submit”输入类型具有提交其所在表单的默认功能(当然,您仍然可以使用Javascript添加其他功能)。

IE 8实际上使用它遇到的第一个按钮提交或按钮。在页面上提交订单,而不是简单地通过输入type=来指示需要的是什么,这实际上很重要。

还应该提到的是,type="submit"的命名输入也将与其他表单的命名字段一起提交,而type="button"的命名输入则不会。

换句话说,在下面的例子中,命名输入name=button1 不会被提交,而命名输入name=submit1 被提交。

示例HTML表单(index.html):

<form action="checkout.php" method="POST">


<!-- this won't get submitted despite being named -->
<input type="button" name="button1" value="a button">


<!-- this one does; so the input's TYPE is important! -->
<input type="submit" name="submit1" value="a submit button">


</form>

处理上述表单操作的PHP脚本(checkout.php):

<?php var_dump($_POST); ?>

在你的本地机器上,通过在/tmp/ Test /文件夹中创建这两个文件,然后从shell运行内置的PHP web服务器来测试上面的内容:

php -S localhost:3000 -t /tmp/test/

打开浏览器http://localhost:3000,自己看看。

有人会问为什么我们需要提交一个命名按钮?这取决于后端脚本。例如,WooCommerce WordPress插件不会处理Checkout页面,除非Place Order命名按钮也被提交。如果你将它的类型从提交改为按钮,那么这个按钮将不会被提交,因此Checkout表单将永远不会被处理。

这可能是一个小细节,但你知道,细节决定成败。