2013-03-31 2 views
0

J'ai un formulaire html avec input type = text qui lance une fonction js personnalisée sur submit. Lorsque l'utilisateur appuie sur ENTRÉE, un écouteur jQuery appelle la même fonction. Cela signifie que: L'utilisateur peut choisir entre appuyer sur le bouton Soumettre et appuyer sur ENTRER.Faire un curseur quitter le champ de texte avec jQuery

Comme ma fonction js permet à l'utilisateur de rester sur la page en cours, le curseur reste actif dans le champ de texte qui a été mis au point en dernier. Ainsi, un utilisateur peut continuer à appuyer sur ENTER et déclencher la fonction js tout le temps. Bien sûr, je pourrais essayer d'empêcher cela avec un booléen comme "didEnterFunction". Mais puis-je forcer le curseur à quitter le champ de texte? Ce serait plus élégant.

j'imagine quelque chose comme ceci:

<form method="post" onsubmit="return myJS();"> 
    <input type="text" name="request" /> 
    <input type="submit" value="OK" /> 
</form> 

et

function myJS() { 
    // Make the cursor leave the text field "request" 
    ????? 

    return no; // prevent submission of the form (reload) 
} 
+0

Voir http://stackoverflow.com/questions/2322603/move-cursor -in-javascript – Mooseman

Répondre

0

Essayez ceci:

function myJS() { 
    // Make the cursor leave the text field "request" 
    $('input[type="submit"]').focus(); 

    return false; // prevent submission of the form (reload) 
} 
+0

Je pense que l'idée est la bonne. Cependant, si vous déplacez le focus sur le bouton Soumettre le formulaire à nouveau lorsque je clique sur Entrée! – andreas

Questions connexes