plan_B: onfocus und onselect mit tastendruck

Beitrag lesen

Hallo,

Das gute an PHP ist, auf Clientseite sieht man nicht, wie umständlich da programmiert wurde.

aber beim js-coden muss man doch damit rechnen, dass mal ein Blick auf den Sourcecode geworfen wird.

  

> if (((keycode == 48) ||(keycode == 49) ||(keycode == 50) ||(keycode == 51) ||(keycode == 52) ||(keycode == 53) ||(keycode == 54) ||(keycode == 55) || (keycode == 56) || (keycode == 57) || (keycode == 96) ||(keycode == 97) ||(keycode == 98) ||(keycode == 99) ||(keycode == 100) ||(keycode == 101) ||(keycode == 102) ||(keycode == 103) || (keycode == 104) || (keycode == 105)) && (document.berufsschule.vomtag.value.length == 2) &&  

kann man das nicht vernünftig schreiben?

  
if(((keycode>= 48 && keycode<=57) || (keycode>= 96 && keycode<=105))  
   && (document.berufsschule.vomtag.value.length == 2) )  

Meine Frage:
Kann ich erreichen das auch optisch vor dem tastendruck der curser im richtigem feld blinkt?

ein Input-Feld kann nur selektiert werden, wenn es den Focus hat.

es ist immer praktisch den event-Funktionen die Referenz auf das auslösende Element mitzugeben. Damit kann vieles einfacher sein:

  
<input type="text" name="d" size="2" onkeyup="kup(event,this)" onkeydown="kdwn(event,this)" >  
.<input type="text" name="d" size="2" onkeyup="kup(event,this)" onkeydown="kdwn(event,this)" >  
.<input type="text" name="d" size="4" onkeyup="kup(event,this)" onkeydown="kdwn(event,this)" >  

  
function kup(ev,elem) {  
 var kc=ev.keyCode;  
 if (isNaN(elem.value)) elem.value="";  
 if (elem.value.length > elem.size) elem.value=elem.substr(0,elem.size)  
 if (elem.value.length >= elem.size ) {  // das nächste Element finden.  
  var es=elem.form.elements;  
  for (var i=0,ie=es.length;i<ie;i++) {  
   if (es[i] == elem && i< (ie-1)) {  
    es[i+1].focus();  
    i=ie;  
    }  
   }  
  }  
 }  
  
function kdwn(ev,elem) {  
 var kc=ev.keyCode;  
 var f=elem.form;  
 }  

Ein paar Tasten brauchen noch ne Sonderbehandlung z.B. TAB ,shift-TAB

Gruß plan_B

--
     *®*´¯`·.¸¸.·