没有一个愚蠢的问题,所以我们开始:<input type='button' />
和之间有什么区别<input type='submit' />
?
没有一个愚蠢的问题,所以我们开始:<input type='button' />
和之间有什么区别<input type='submit' />
?
Answers:
<input type="button" />
按钮将不会提交表单-默认情况下,它们不会执行任何操作。它们通常与JavaScript一起用作AJAX应用程序的一部分。
<input type="submit">
按钮会提交用户单击时所在的表单,除非您使用JavaScript另行指定。
Button不会自行提交表单,它是一个简单的按钮,用于通过使用javascript执行某些操作,而Submit是一种按钮,默认情况下,每当用户单击Submit按钮时都会提交表单。
还应该提到的是,类型为“ submit”的命名输入也将与其他表单的命名字段一起提交,而命名输入为类型“ 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的浏览器,然后亲自查看。
有人会怀疑为什么我们需要提交一个命名按钮?这取决于后端脚本。例如,除非Place Order
也提交了命名按钮,否则WooCommerce WordPress插件将不会处理发布的Checkout页面。如果将其类型从“ 提交”更改为“ 按钮”,则不会提交此按钮,因此将永远不会处理“结帐”表单。
这可能是一个很小的细节,但您知道,细节中存在魔鬼。
<input type="button">
可以在任何地方使用,而不仅限于在表单中使用,如果它们合而为一,则不提交表单。更好地适合Javascript
。
<input type="submit">
应该仅在表单中使用,它们将向指定的URL发送请求(GET或POST)。他们应该不是放在任何HTML地方。
type='Submit'
设置为转发并获取BACK-END上的值(PHP,.NET等)。
type='button'
将反映正常的按钮行为。