html5的Form新特性

form新增的输入型控件:

名称说明图例
email电子邮箱文本框,显示跟普通的没什么区别
tel 电话号码pc端不会有明显的变化,但是移动端会自动切换键盘,输入有误不会阻止默认提交 
url网页url
 search  搜索引擎,chrome下输入文字后,会多出一个关闭的X 
 range 特定范围内的数值选择器,min、max、step( 步数 ) 
 number  只能包含数字的输入框,有键盘监听,不能输入其他字符。 
 color 颜色选择器 
datetime显示完整日期直接使用好像不行
datetime-local显示完整日期,不含时区
time显示时间,不含时区
date显示日期、时间控件
week显示周
month显示月

Form新增表单特性和函数  

  1. placeholder  :  输入框提示信息。

  2. autocomplete  :  是否保存用户输入值。默认为on,关闭提示选择off。

  3. autofocus  :  指定表单获取输入焦点。

  4. list和datalist  :  为输入框构造一个选择列表。

  5. list值为datalist标签的id。

  6. required  :  此项必填,不能为空。(可以直接破解)

  7. Pattern : 正则验证  pattern="\d{1,5}"。(可以直接破解)
  8. Formaction 在submit里定义提交地址,重写表单的action属性。

Form表单验证

  1. Invalid事件:oText.addEventListener("invalid",fn1,false);

  2. validity对象,通过下面的valid可以查看验证是否通过。
  3. 阻止默认验证:ev.preventDefault()。
     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6     </head>
     7     <body>
     8          <form action="http://www.baidu.com" method="post" id="myForm">
     9              <input type="text" id="username" name="username" required="required"/>
    10              <input type="submit" value="提交"/>
    11          </form>
    12     </body>
    13 </html>
    14 <script type="text/javascript">
    15     window.onload = function(){
    16         var oInput = document.getElementById("username");
    17         //如果不添加监听函数,username不填写,浏览器会默认阻止form提交,并给出提示:请填写此字段。
    18         //如果有添加,验证失败会先执行该函数,且this.validity.valid的值为false。
    19         //如果在函数中不添加ev.preventDefault();浏览器同样会给出提示:请填写此字段。添加则意味着阻止默认提示。
    20         oInput.addEventListener("invalid",function(ev){
    21             console.log(this.validity.valid);
    22 //            ev.preventDefault();
    23         },false);
    24     }
    25 </script> 
  4. formnovalidate属性:用在<input type="submit" value="提交" formnovalidate="formnovalidate"/>中,添加该属性,则关闭验证。
  5. valueMissing  :  输入值为空时。
  6. typeMismatch :  控件值与预期类型不匹配。

  7. patternMismatch  :  输入值不满足pattern正则。
  8. tooLong  :  超过maxLength最大限制。

  9. rangeUnderflow : 验证的range最小值。
  10. rangeOverflow:验证的range最大值

  11. stepMismatch: 验证range 的当前值 是否符合min、max及step的规则。

  12. setCustomValidity(); 自定义验证。

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6     </head>
     7     <body>
     8         <form name="myForm" action="" method="post">
     9             <input type="text" name="" id="myNumber" value=""  required="required"/>
    10             <input type="submit" name="" id="" value="提交" />
    11         </form
    12     </body>
    13 
    14 </html>
    15 <script type="text/javascript">
    16     window.onload = function(){
    17         var oNumber = document.getElementById("myNumber");
    18         oNumber.setCustomValidity("必填项,请输入!");
    19     }
    20 </script>

 

转载于:https://www.cnblogs.com/tengri/p/5558527.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值