Martin Hölter: autmatisches Löschen von inputs bei Fokus

Beitrag lesen

Hallo Forum!

Ich versuche, meinen Eingabefeldern Vorgabewerte zu geben (kein Problem) und dann quasi folgendes Script hineinzubauen:

onfocus="if (this.value==this.defaultValue) this.value='';" onblur="if (this.value=='') this.value=this.defaultValue;"

Hierfür selktiere ich mir erstmal die Elemente und packe die passenden Eventhandler dazu:

if(document.getElementById){
if(typeof(document.getElementById('suchfeld'))!='undefined'){
  document.getElementById('suchfeld').onfocus=check('suchfeld', true);
  document.getElementById('suchfeld').onblur=check('suchfeld', false);
  document.getElementById('suchfeld').value='blah';
}
if(typeof(document.getElementById('KONTO'))!='undefined'){
  document.getElementById('KONTO').onfocus=check('KONTO', true);
  document.getElementById('KONTO').onblur=check('KONTO', false);
}
}
else if(document.all){
if(document.all['suchfeld']){
  document.all['suchfeld'].onfocus=check('suchfeld', true);
  document.all['suchfeld'].onblur=check('suchfeld', false);
}
if(document.all['KONTO']){
  document.all['KONTO'].onfocus=check('KONTO', true);
  document.all['KONTO'].onblur=check('KONTO', false);
}
}

Das dürfte eigentlich auch funktionieren (wenn nicht, bitte sagen ;-)).

Dann meine Funktion Check - hier soll in die Elemente das obige Script eingebaut werden, aber es klappt nicht wie gewünscht, mir sagt die JS-Konsole immer document.getElementById(objekt) has no Properties, obwohl ein  alert(typeof(document.getElementById(objekt))); mir object zurückgibt...

function check(objekt, inout){

if(document.getElementById){
  if(inout){/*Fokus ist im Eingabefeld*/
   if(document.getElementById(objekt).value==document.getElementById(objekt).defaultValue) document.getElementById(objekt).value='';
  }
  else{
    if (document.getElementById(objekt).value=='') document.getElementById(objekt).value=document.getElementById(objekt).defaultValue;
  }
}
else if(document.all){
  if(inout){/*Fokus ist im Eingabefeld*/
   if(document.all[objekt].value==document.all[objekt].defaultValue) document.all[objekt].value='';
  }
  else{
   if (document.all[objekt].value=='') document.all[objekt].value=document.all[objekt].defaultValue;
  }
}

}

Live-Demo: http://www.sparkasseiserlohn.de/neu/, JS:http://www.sparkasseiserlohn.de/neu/js/global.js

Danke euch allen!

Gruß

Martin