2012-12-22 81 views
0

由于我对某些浏览器不支持“placeholder”-Tag这一事实感到不满,因此我想:“为什么不在JS常用时开发JS-解决方法”。JQuery全球占位符替换

因此,我建立了一个表单输入搜索,它使所有占位符在JS中的行为有一个优势:onFocus将清除该字段! 占位符不清楚焦点领域的事实是这样做的另一个原因。所以这里是代码,随意使用并更改它:

+1

这不是问题。这是一篇博文。 –

+0

但我自己质疑(!)自己如何解决这个问题,是的,我确实回答了我自己的问题来帮助别人,所以呢? – androidavid

回答

1
$('form').each(function(){ 
       var f = $(this); 
       f.find('input[type=text]').each(function(){ 
        var s = $(this); 
        var attr = s.attr('placeholder'); 
        if (attr && $.trim(attr)!='') { 
         $.extend(this,{oldPlaceholder: s.attr('placeholder')}) 
         s.removeAttr('placeholder'); 

         if ($.trim(this.value)=='') { 
          this.value = this.oldPlaceholder; 
         } 


         s.focus(function(){ 
          if ($.trim(s.val())==this.oldPlaceholder) { 
           s.val(''); 
          } 
         }); 

         s.blur(function(){ 
          if ($.trim(s.val())=='') { 
           s.val(this.oldPlaceholder); 
          } 
         }); 
        } 
       }); 

       f.submit(function(){ 
        $(this).find('input[type=text]').each(function(){ 
         if (this.oldPlaceholder && $.trim(this.value)==this.oldPlaceholder) { 
          this.value = ''; 
         } 
        }); 
       }); 
      });