2012-12-22 74 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 = ''; 
         } 
        }); 
       }); 
      });