2011-11-07 1 views
0

J'ai un formulaire dans lequel j'utilise 4 champs de texte.Le bouton de tabulation ne fonctionne pas dans les champs de texte de formulaire

TextField1 TextField2 TextField3 TextField4

j'appelle une fonction sur événement "onPress" sur TextField2 et TextField3 pour vérifier que des valeurs entières. la fonction est donnée ci-dessous.

function checkIntnumber(obj,event){ 
var unicode=event.charCode? event.charCode : event.keyCode 
if((unicode==37 || unicode==39 || unicode==35 || unicode==36 || unicode==46) 
    && event.which==0) {//if the key isn't the (BackSpace/Left Arrow/Right 
    Arrow/Delete/Home/End) key (which we should allow) 
     return true; 
} else if(unicode!=8) { 
     if (unicode>=48 && unicode<=57) { //if a number 
      return true; //enable key press 
     } else { 
      return false; //disable key press 
     } 
} 
} 

maintenant, alors je passe de TextField1 à l'aide TextField2 onglet clé que cela fonctionne très bien, mais la touche de tabulation ne fonctionne pas à passer de TextField2 à TextField3 ou TextField3 à TextField4. Ce problème se produit dans mozilla Firefox uniquement. Aidez-moi, s'il vous plaît. grâce

EDIT: Code du commentaire sous la réponse -

<input type="text" name="from" id="from" style="width:50px;" 
     onkeypress="hideRateDiv();return checkIntnumber(this,event)"/> 
- <input type="text" name="to" id="to" style="width:50px;" 
     onkeypress="hideRateDiv();return checkIntnumber(this,event)" tabindex="2"/> 
+0

sons plus comme un problème avec tabindex plutôt que l'événement de liaison ... –

+0

alors que dois-je faire maintenant? – manishjangir

+0

http://www.w3.org/TR/html4/interact/forms.html#adef-tabindex vérifier ce lien –

Répondre

0

Vous avez juste besoin de tester le code correspondant à la touche de tabulation (9) et return true.

EDIT: Désolé, j'ai vu le commentaire de Christian et j'ai lu la question un peu plus attentivement. Il pourrait y avoir un problème tabindex, mais il ne devrait pas y avoir si les quatre champs sont définis les uns après les autres dans votre code source HTML. Mais étant donné que le code que vous avez posté ne semble pas autoriser la touche de tabulation, je ne comprends pas comment le tabulation fonctionnerait entre votre champ 1 et 2 - il ne devrait pas fonctionner entre l'un d'entre eux.

Pouvez-vous s'il vous plaît poster le code HTML pour ces champs et montrer comment vous affectez l'événement de pression de touche?

+0

- manishjangir

+0

quelqu'un peut-il me dire le problème exact. – manishjangir

0

if((unicode==37 || unicode==39 || unicode==35 || unicode==36 || unicode==46 || unicode==9) && event.which==0) Modifier la condition if comme celui-ci, pour keycode onglet également (soit 9)

Questions connexes