HTML5 之 Button 标签

在这里插入图片描述

概述

  button 用于显示一个可点击的按钮,可用在表单或文档的其它地方。

  button元素是内联双标签,不同浏览器下button样式不同,可以通过CSS修改。

<button>按钮</button>

标签属性

autofocus

  指定页面加载时聚焦此按钮,多个按钮指定autofocus,仅仅只会聚焦首个按钮。

<button autofocus>按钮</button>

disabled

  禁用,用户不能与button交互。

<button disabled>按钮</button>

form

  HTML5新增属性,用于指定关联的form元素的id。一般button按钮需要位于form元素内部才能关联form,而指定form属性则可以在文档任意位置关联form

<form id="form" action="" method="post">
  <input type="text">
</form>
<button type="reset" form='form'>按钮</button>

formaction

  覆盖button关联的form表单的action属性。

  如下表单的提交地址将被覆盖为http://www.jd.com

<form method="get" action="http://www.baidu.com">
  <input type="text">
  <button type="submit" formaction="http://www.jd.com">按钮</button>
</form>

  不同按钮设置不同formaction属性,可将同一表单的数据提交到不同的URL地址。

<form method="get" id="form">
  <input type="text">
</form>
<button type="submit" formaction="http://www.baidu.com" form="form">百度</button>
<button type="submit" formaction="http://www.qq.com" form="form">qq</button>

formenctype

  若表单method属性为post,且buttonsubmit类型时,用于指定表单的数据编码方式。

  注意button上的formenctype也会覆盖form表单的enctype属性。

<form method="post" action="http://www.baidu.com">
  <input type="text">
  <button type="submit" formenctype="multipart/form-data">按钮</button>
</form>

  实际上enctype影响的是请求头的Content-Type

在这里插入图片描述

  enctype 属性值包括三种类型。

  • application/x-www-form-urlencoded:默认编码方式
  • multipart/form-data:表单含有文件上传控件需指定
  • text/plain:用于调试

  如下为含有两个输入框的表单,通过在button上设置不同formenctype属性值来区分差异,其中name控件固定输入hellodesc控件固定输入button formenctype

<form method="post" action="http://www.baidu.com">
  <input type="text" name="value">
  <input type="text" name="desc">
  <button type="submit" formenctype="">按钮</button>
</form>

  application/x-www-form-urlencoded是默认的编码方式,适用于各种类型的表单。其中特殊字符(空格)已经被替换为+,数据项的名称和值以=分开,数据项之间以&分开。

在这里插入图片描述

  multipart/form-data在表单含有type="file"控件时指定,此类型更加适合传输二进制数据。

在这里插入图片描述

  text/plain中每个数据项独占一行,不会编码特殊字符。注意各种浏览器的实现方式各不相同,一般不建议使用。

在这里插入图片描述

formmethod

  覆盖button关联的form表单的method属性,可选值包括getpost

  如下表单的请求方式将为get

<form method="post" action="http://www.baidu.com">
  <input type="text">
  <button type="submit" formmethod="get">按钮</button>
</form>

formnovalidate

  指定button关联的form表单,在表单提交时不用验证数据。

  如下指定表单项只能输入email邮箱格式。

<form method="post" action="http://www.baidu.com">
  <input type="email" name="email">
  <button type="submit">按钮</button>
</form>

  点击按钮提交表单数据时,将验证数据是否为邮箱格式。

在这里插入图片描述

  添加formnovalidate属性将关闭表单的验证。

<button type="submit" formnovalidate>按钮</button>

formtarget

  若关联formbuttontype属性为值为submitformtarget表示提交的表单在何处响应。

  formtarget属性值如下,其中具体差异 参考

  • _self:在当前页面响应
  • _blank:在新窗口响应
  • _parent:在当前页面的父框架页面中响应
  • _top:在当前页面的顶层框架页面中响应
<form method="post" action="http://www.baidu.com">
  <input type="text">
  <button type="submit" formtarget="_blank">按钮</button>
</form>

name

  指定按钮的name属性,被单击时自身namevalue属性值将被提交。

<form method="post" action="http://www.baidu.com">
  <input type="text" name="value">
  <button type="submit" name="button" value="value">按钮</button>
</form>

  输入框录入值,单击按钮。

在这里插入图片描述

  其中buttonnamevalue属性值均被提交。

在这里插入图片描述

value

  指定按钮的初始值,将作为name属性的键值提交。

type

  指定button的类型,其中可选值如下。

  • submit:此按钮将表单数据提交至服务器。注意指定type为空或者错误值时也是submit类型
  • reset:重置表单控件为初始值
  • button:指定为普通按钮
  • menu:打开一个由menu元素定义的菜单,此属性尚未在任何浏览器实现
<button type="menu" menu="menu">Dropdown</button>
<menu id="menu">
  <menuitem>hello</menuitem>
  <menuitem>world</menuitem>
</menu>

兼容性

button.value

  如下获取butoon上的value属性。

<button id="btn" value="hello button">按钮</button>
<script>
  var btn = document.getElementById('btn')
  console.log(btn.value)
</script>

  IE8以下浏览器,其获取的值等价于buttoninnerText

在这里插入图片描述

  IE8及以上浏览器、ChromeFirefoxOpera等,其获取的值为buttonvalue属性值。

在这里插入图片描述

  兼容方式也很简单,即在获取 button元素的 value属性值时统一使用 getAttribute

btn.getAttribute('value')

form post 请求参数

  关联form表单的type属性值为submit的按钮,在点击提交表单数据时也会存在兼容性问题。

  由于IE浏览器的控制台F12开启后,点击button提交表单,无论将formtarget属性设置为_self还是_blank,控制台均会被关闭,因此post请求参数也无法查看。

  客户端无法查看参数,换个思路从服务端中去打印请求参数。

<form action="http://127.0.0.1:3000" method="post">
  <input type="text" name="input">
  <button name="reset" value="button">重置</button>
  <button type="submit" name="name" value="button">按钮</button>
</form>

  IE8及以上浏览器、ChromeFirefox等。

在这里插入图片描述

  IE8以下浏览器,可以看出在提交表单时,会将表单内所有按钮都提交上去,并且提交的值并不是按钮的value值,而是等价于按钮innerText的值。

在这里插入图片描述

🎉 写在最后

🍻伙伴们,如果你已经看到了这里,觉得这篇文章有帮助到你的话不妨点赞👍或 Star ✨支持一下哦!

手动码字,如有错误,欢迎在评论区指正💬~

你的支持就是我更新的最大动力💪~

GitHub / GiteeGitHub Pages掘金CSDN 同步更新,欢迎关注😉~

  • 9
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 按钮(<button>)标签HTML中用来创建按钮元素的标签。通常情况下,按钮元素被用于触发某些 JavaScript 代码或提交表单等操作,而不是直接用来跳转页面。如果需要通过按钮实现页面跳转,可以使用 JavaScript 代码来实现。 具体而言,可以通过在按钮的点击事件中使用 JavaScript 来实现页面跳转,常见的方法有以下两种: 第一种方法是使用 window.location.href 属性,将其设为目标页面的 URL,实现页面跳转。代码示例如下: <button onclick="window.location.href='目标页面的URL'">点击跳转</button> 在以上代码中,将“目标页面的URL”替换为你希望跳转的页面的网址。 第二种方法是使用 location.assign() 方法,将其参数设为目标页面的 URL,同样可以实现页面跳转。代码示例如下: <button onclick="location.assign('目标页面的URL')">点击跳转</button> 同样地,在以上代码中,需要将“目标页面的URL”替换为你希望跳转的页面的网址。 需要注意的是,以上两种方法都需要在<button>标签中使用 onclick 属性,来绑定触发点击事件时执行的 JavaScript 代码。只有在用户点击按钮时,才会触发页面跳转。 总而言之,通过在按钮的点击事件中使用 JavaScript 的方法,可以实现使用<button>标签跳转页面。 ### 回答2: button标签HTML中常用的元素之一,它通常用于在网页上添加按钮。而通过使用button标签来实现页面跳转,需要配合JavaScript来实现。 首先,在HTML中的button标签中添加一个onclick事件,如下所示: <button onclick="跳转函数()">跳转页面</button> 然后,在JavaScript中定义一个跳转函数,该函数的作用是实现页面的跳转,如下所示: <script> function 跳转函数(){ window.location.href = "目标页面的URL"; } </script> 在函数内部,使用window.location.href属性来设置跳转的目标页面的URL。当用户点击按钮时,跳转函数会被触发,从而实现页面的跳转。 需要注意的是,目标页面的URL应当是有效的,并且可以在当前网站的页面中访问到。同时,如果想要在新的窗口或标签页中打开目标页面,可以使用window.open方法来实现。 综上所述,通过button标签结合JavaScript的跳转函数,可以实现页面的跳转。 ### 回答3: button标签HTML中常用的元素,用于创建按钮。它可以绑定事件,使得用户点击按钮时可以执行相应的操作。但是,button标签本身并不具有跳转页面的功能。 如果想要实现按钮点击后跳转到其他页面,可以通过JavaScript来实现。可以使用onclick属性来绑定一个JavaScript函数,当按钮被点击时执行该函数。在这个函数中,可以使用window.location.href属性来改变当前页面的URL,从而实现页面的跳转。 例如,可以通过以下代码实现按钮点击后跳转到指定页面: ``` <button onclick="goToPage()">点击跳转</button> <script> function goToPage() { window.location.href = "http://www.example.com"; } </script> ``` 在上述代码中,我们使用onclick属性将goToPage函数绑定到按钮的点击事件上。当按钮被点击时,就会调用goToPage函数。该函数通过修改window.location.href属性将当前页面的URL修改为目标页面的URL,从而实现页面跳转。 需要注意的是,目标页面的URL必须是有效的,并且需要与当前页面在同一个域名下。否则,浏览器会拒绝跳转并报错。如果需要在不同域名下跳转页面,可以考虑使用<a>标签替代按钮,并设置其href属性为目标页面的URL。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DonV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值