Heim  >  Artikel  >  Web-Frontend  >  HTML5-Platzhalterattribut (IE-kompatibel) Implementierung code_jquery

HTML5-Platzhalterattribut (IE-kompatibel) Implementierung code_jquery

WBOY
WBOYOriginal
2016-05-16 16:38:22963Durchsuche

HTML5 hat viele Verbesserungen an Web Form vorgenommen, wie z. B. neue Eingabetyptypen, Formularvalidierung usw.

Platzhalter ist ein weiteres Attribut, das HTML5 neu hinzugefügt wurde. Wenn dieses Attribut im Eingabe- oder Textbereich festgelegt ist, wird der Inhalt des Werts im Textfeld als graue Textaufforderung angezeigt verschwindet. In der Vergangenheit konnte dieser Effekt nur durch die Verwendung von JavaScript, Firefox, Google Chrome usw. erzielt werden, aber IE war der einzige, der sich inkonsistent anfühlte

Zum Beispiel: 15a7cccec22b9f5632b3c3c3ac3b5d32

Einführung eines leistungsstarken Attribut-Plug-Ins, das es dem IE ermöglicht, Platzhalter zu unterstützen. Es ist auch mit anderen Browsern kompatibel, die keine Platzhalter unterstützen. Der Code lautet wie folgt:

$(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)
   }
  }
 }
 });
Kopieren Sie einfach den Code und speichern Sie ihn als Referenzdatei. Keine Bearbeitung erforderlich, super praktisch!

Beispiel: Dadurch zeigt die Eingabe des IE das Platzhalterattribut an, aber wenn es nur eine Eingabe auf der Seite gibt, ist es in Ordnung. Wenn es mehrere Eingaben gibt und die Eingabe keinen Wert ausfüllt, ist sie eine leere Eingabe Füllt den Platzhalterwert automatisch in value aus, was zu einem Fehler führt. Beispiel:


<input type="text" placeholder="输入商品编码" name="goodscode" id="goodscode" value="123" />
<input type="text" placeholder="输入商品名称" name="goodsname" id="goodsname" value="输入商品名称" />
Die Lösung besteht darin, im Hintergrund Ihr eigenes Urteil zu fällen. Vielleicht kann es in der obigen js-Datei gelöst werden, und wir werden es später untersuchen~!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn