zoukankan      html  css  js  c++  java
  • 理解button标签的默认行为

      button标签的作用和它的名字一样,在绝大多数场合当做按钮来使用。

      很多人在使用button按钮的时候出现过这样或者那样的问题,比如:自动提交表单、一次提交表单多次submit行为,有的浏览器下点击button按钮提交表单有的无任何反应。理解它的默认行为会帮助我们从原理上分析问题,解决问题。

         一、button按钮的type属性   

           button按钮的type属性有三种:submit、button、reset.

           如果form内的button按钮有type=submit属性则,按钮会有默认的提交行为,reset属性会让按钮具备重置表单的行为,button属性会让按钮do nothing。如果编写页面时不忘写上button的type属性,那么一切异常行为都不会出现。

          二、如果忘记type属性          

      很多人在编码时经常忘记或者不写type属性。问题往往就出现在这里。

      试试下面的代码会发生什么? 

    <form id="mobile_reg_form" onsubmit="alert(1);return false;" style="border:1px solid ;">
      <fieldset>
        <label>手机号:</label><input type="text" class="" placeholder="输入手机号" name="account">
        <button class="chkbtn">获取验证码</button>
      </fieldset> 

    </form>

      
                 
     

        点击"获取验证码"按钮:

        IE6、7:无明显行为;

        其他浏览器 :alert(1)

      

      在没有定义type属性的情况下,button按钮的行为:

       

      IE浏览器IE8及以后的版本,会根据页面使用的文档模式(Defining document compatibility)来定义按钮的兼容性问题。IE8标准模式的默认行为是submit,其他模式的默认行为是button。

      请参考:http://msdn.microsoft.com/en-us/library/ms534696%28v=vs.85%29.aspx

     

  • 相关阅读:
    移动端字体单位
    我像素的理解
    了解viewport概念
    移动端知识
    本地存储和会话存储
    一屏滚动滚轮事件
    关于jquery的笔记
    关于bind()方法
    [css] 滚动条样式问题
    [element-ui] 表格功能实现(删除选中)
  • 原文地址:https://www.cnblogs.com/wisdomoon/p/button.html
Copyright © 2011-2022 走看看