HTML <input type='button' />和<input type='submit' />之间有什么区别?
<input type="button" />按钮不会提交表单——默认情况下它们什么都不做。它们通常作为AJAX应用程序的一部分与JavaScript一起使用。
>按钮将在用户点击它们时提交它们所在的表单,除非您使用JavaScript另有指定。
表单的第一个提交按钮也是被点击进行隐式提交的按钮,例如在文本输入中按enter键。
“按钮”只是一个按钮,你可以使用Javascript添加额外的功能。“submit”输入类型具有提交其所在表单的默认功能(当然,您仍然可以使用Javascript添加其他功能)。
还应该提到的是,type="submit"的命名输入也将与其他表单的命名字段一起提交,而type="button"的命名输入则不会。
换句话说,在下面的例子中,命名的输入名称=button1将不会被提交,而命名的输入名称=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命名按钮。如果您将其类型从submit更改为button,则该按钮将不会被提交,因此Checkout表单将永远不会被处理。
这可能是一个小细节,但你知道,细节决定成败。
推荐文章
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 使用“!”的含义是什么?重要的”?
- 我看到VARCHAR(255)如此频繁地使用(而不是其他长度),有什么好的原因吗?
- 资源解释为样式表,但以MIME类型text/html传输(似乎与web服务器无关)
- 复选框输入是否只在被选中时才发布数据?
- 返回类型为'?:'(三元条件运算符)
- 是类型="文本/css"必须在<链接>标签?
- 如何将LaTeX与Markdown混合?
- 如何使<div>总是全屏?
- 如何比较Python中对象的类型?
- 如何中心div垂直内绝对定位的父div
- 确定数据帧列的数据类型
- 创建一个可变长度的字符串,用重复字符填充
- 有效使用< >(锚标签)没有href属性?
- 如何将全局字体应用到整个HTML文档