2010-11-24 4 views
3

J'ai 3 champs sur une page et quand l'utilisateur a le curseur concentré sur deux d'entre eux, je veux qu'un certain bouton sur la page soit celui qui est pressé quand ils frappent entrer. J'utiliseComment obtenir le formulaire à soumettre sur la touche Entrée uniquement lorsque l'utilisateur se concentre sur l'entrée de connexion?

<script language="JavaScript"> 

function stopRKey(evt) { 
     var evt = (evt) ? evt : ((event) ? event : null); 
     var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
     if ((evt.keyCode == 13) && (node.type == "text")) { return false; } 
    } 

    document.onkeypress = stopRKey; 
</script> 

Pour arrêter le comportement par défaut, je ne peux pas voir juste comment modifier pour laisser certains par pressions sur les touches. J'ai regardé un tutoriel http://asquare.net/javascript/tests/KeyCode.html mais ce n'était pas évident ce qui se passe.

Quelqu'un sait-il comment faire ceci ou un tutoriel qui va dessus?

Répondre

1

Si vous voulez sauter jQuery, il est encore très simple:

<script language="javascript"> 

document.getElementById('myInput1').addEventListener('keypress', handlePress); 
document.getElementById('myInput2').addEventListener('keypress', handlePress); 

function handlePress(evt) 
{ 
    if(evt.keyCode == 13) 
    { 
     // execute your function here 
     console.log('Enter pressed while in desired text input') 
    } 
} 
</script> 
2

Utiliser jQuery (cela devrait fonctionner):

$('#input_id').keypress(function(event) { 
    if (event.keyCode == '13') { 
     // press correct button 
    } 
}); 

Faire un pour chacun de vos champs et le point vers le bon bouton.

Questions connexes