Textarea et formulaire
Résolu/Fermé3 réponses
Bilow
Messages postés
1014
Date d'inscription
samedi 21 août 2010
Statut
Membre
Dernière intervention
2 août 2015
117
2 avril 2011 à 21:10
2 avril 2011 à 21:10
Salut,
Tiens donc j'ai eu le même problème tout à l'heure =D
https://forums.commentcamarche.net/forum/affich-21459356-javascript-ie-ff-onkeypress
Mais puisque tu dis ne rien y connaitre en Javascript, je vais t'expliquer.
document.forme.elemName.onkeypress
Quand, dans le formulaire "forme", qui comprend le champ (texte ou textarea) elemName, on appuie sur une touche, alors ..
function(e){
var evt = window.event ? event : e;
createElement(evt);
}
On déclare une fonction, qui prend le paramètre 'e' pour Mozilla Firefox. A l'intérieur on déclare la variable 'evt' qui, si window.event (sous IE uniquement) existe, on la prend, sinon on utilise le paramètre donné pour Firefox. Ensuite on appelle la fonction finale. Toutefois dans le code en dessous de ce post j'ai mis quelque chose de plus simple, tant que cela fonctionne.
if((window.event && (!evt.keyCode || evt.keyCode==13) ) || (!window.event && (!evt.charCode || evt.charCode==0))) ..
Là, si tu ne connais pas le Javascript, alors je pense que ce n'est même pas la peine d'expliquer. En gros, il vérifie si c'est bien la touche "Enter".
Bug : Sous Mozilla, la touche Retour arrière aura le même effet que l'Entree, et aussi les flèches directionnelles. Je suis en train de chercher une solution...
Pour qu'il tape le texte directement, cela s'appelle le focus.
document.formulaire.textarea.focus()
Attention, un textarea où tu interdis les retours à la ligne revient à un <input type="text"> ;
Voici deux codes, à adapter aux tiens.
Code pour IE uniquement
Code pour IE et FF
Voila ;-)
Tiens donc j'ai eu le même problème tout à l'heure =D
https://forums.commentcamarche.net/forum/affich-21459356-javascript-ie-ff-onkeypress
Mais puisque tu dis ne rien y connaitre en Javascript, je vais t'expliquer.
document.forme.elemName.onkeypress
Quand, dans le formulaire "forme", qui comprend le champ (texte ou textarea) elemName, on appuie sur une touche, alors ..
function(e){
var evt = window.event ? event : e;
createElement(evt);
}
On déclare une fonction, qui prend le paramètre 'e' pour Mozilla Firefox. A l'intérieur on déclare la variable 'evt' qui, si window.event (sous IE uniquement) existe, on la prend, sinon on utilise le paramètre donné pour Firefox. Ensuite on appelle la fonction finale. Toutefois dans le code en dessous de ce post j'ai mis quelque chose de plus simple, tant que cela fonctionne.
if((window.event && (!evt.keyCode || evt.keyCode==13) ) || (!window.event && (!evt.charCode || evt.charCode==0))) ..
Là, si tu ne connais pas le Javascript, alors je pense que ce n'est même pas la peine d'expliquer. En gros, il vérifie si c'est bien la touche "Enter".
Bug : Sous Mozilla, la touche Retour arrière aura le même effet que l'Entree, et aussi les flèches directionnelles. Je suis en train de chercher une solution...
Pour qu'il tape le texte directement, cela s'appelle le focus.
document.formulaire.textarea.focus()
Attention, un textarea où tu interdis les retours à la ligne revient à un <input type="text"> ;
Voici deux codes, à adapter aux tiens.
Code pour IE uniquement
<html> <head> <script type="text/javascript"> function verifier(){ if(event.keyCode == 13){ // Si "Entrée" formulaire.submit(); // On envoi le formulaire } } </script> </head> <body onload="document.formulaire.texte.focus()"> <form name="formulaire"> <textarea name="texte" onkeypress="verifier()"></textarea> </form> </body> </html>
Code pour IE et FF
<html> <head> <script type="text/javascript"> function verifier(evt){ if( (event.keyCode && event.keyCode == 13) || (event.charCode || event.charCode ==0) ){ // Si "Entrée" formulaire.submit(); // On envoi le formulaire } } </script> </head> <body onload="document.formulaire.texte.focus()"> <form name="formulaire"> <textarea name="texte" onkeypress="verifier(event)"></textarea> </form> </body> </html>
Voila ;-)
J'ai renoncé au textarea et plus qu'un seul problème se pose, que ton script ne semble pas vouloir régler :/ Pas moyen de sélectionner le champ text au chargement de la page.