• Html5的placeholder属性(IE兼容)


    HTML5对Web Form做了很多增强,比方input新增的type类型、Form Validation等。

    Placeholder是HTML5新增的还有一个属性,当input或者textarea设置了该属性后。该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点时,提示文字消失。曾经要实现这效果都是用JavaScript来控制才干实现 , firefox、google chrome等表示对其支持 , 只有IE存在违和感啊!

    比如:  <input id="t1" type="text" placeholder="请输入文字" />

    介绍一个超强的让IE下支持placeholder的属性插件,同一时候也兼容其它不支持placeholder的浏览器,代码例如以下:

    $(document).ready(function(){   
       var doc=document,
        inputs=doc.getElementsByTagName('input'),
        supportPlaceholder='placeholder'in doc.createElement('input'),
        
        placeholder=function(input){
         var text=input.getAttribute('placeholder'),
         defaultValue=input.defaultValue;
         if(defaultValue==''){
            input.value=text
         }
         input.onfocus=function(){
            if(input.value===text)
            {
                this.value=''
            }
          };
         input.onblur=function(){
            if(input.value===''){
                this.value=text
            }
          }
      };
      
      if(!supportPlaceholder){
         for(var i=0,len=inputs.length;i<len;i++){
              var input=inputs[i],
              text=input.getAttribute('placeholder');
              if(input.type==='text'&&text){
                 placeholder(input)
              }
          }
      }
     });
    

    直接把代码复制下来,保存成一个js文件引用就可以,不用再做不论什么处理,超级便利!

    ---------------------------------------------------------------------------------------------------------------------------

    ex : 这样做的确能让IE的Input显示placeholder属性,可是假设页面上仅仅有一个input还好,假设是多个input,假设出现input没有填入不论什么值的话,那么它的空input会自己主动将placeholder的值填进value里面,从而错误发生.比如:

    <input type="text" placeholder="输入商品编码" name="goodscode" id="goodscode" value="123" />
    <input type="text" placeholder="输入商品名称" name="goodsname" id="goodsname" value="输入商品名称" />

    解决的方法就是在后台自己推断啦 , 或许能在上面的js文件中解决 , 以后再研究啦~!


    欢迎交流 http://blog.csdn.net/ycwol/article/details/38925461


  • 相关阅读:
    网络基础
    Web开发几种常用工具
    win组合键概述(windows10)
    Alfred使用
    Java8之新特性--modules
    jsp九大内置对象和四大作用域
    authtype
    Myeclipse中的快捷键
    如何在Jenkins CI 里调试
    写好unit test的建议和例子
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7142419.html
Copyright © 2020-2023  润新知