Nazario Posté 8 Février 2005 Posté 8 Février 2005 (modifié) Salut, Je suis en train de coder un module permettant d'envoyer un e-mail avec la fonction mail(); en php. J'ai un petit problème, dans le code suivant, pour récupérer le nombre de caractère du message, il m'affiche une erreur. <script>function chars(c) {if(c<=1) document.envoi_mail.len.value='Votre message fait '+c+' caractère';if(c=>2) document.envoi_mail.len.value='Votre message fait '+c+' caractères';</script>} La fonction chars est déclenchéé lorsque qu'on presse une touche, voir ci-dessous. L'erreur ne provient pas des 'name' des 'input' vu que ça marche si je retire les conditions. <textarea onKeyUp=chars(this.value.length); cols=60 rows=7 name=message></textarea> Si je retire les conditions pour avoir un s ou pas à 'caractère', tout marche nickel. Où est l'erreur ? Modifié 8 Février 2005 par Nazario
Vincent Posté 8 Février 2005 Posté 8 Février 2005 tu as un probleme avec l'accolade qui ferme la fonction... : <script>function chars(c) {if(c<=1) document.envoi_mail.len.value='Votre message fait '+c+' caractère';if(c=>2) document.envoi_mail.len.value='Votre message fait '+c+' caractères';}</script>
Nazario Posté 8 Février 2005 Auteur Posté 8 Février 2005 J'ai copié la fonction de mon bloc note et j'ai oublié d'ajouter une accolade (j'ai plusieurs fonctions dans le <script>), même avec, la page m'affiche une erreur.
jpv Posté 8 Février 2005 Posté 8 Février 2005 (modifié) l'erreur est sur l'opérateur => qui doit être >= function chars(c) {if(c<=1) document.envoi_mail.len.value='Votre message fait '+c+' caractère';if(c>=2) document.envoi_mail.len.value='Votre message fait '+c+' caractères';} D'autres part tu à quelques erreurs de syntaxe sur ton appel de fonction, il faut écrire : <textarea onkeyup="chars(this.value.length);" cols="60" rows="7" name="message"></textarea> avec des guillements partout et l'event en minuscule. Enfin, tu n'es pas obligé de passer par un champs de formulaire pour afficher ton résultat, n'importe quel élément de texte peut convenir, par exemple un <p> ou un <span>. Cela evite de charger le formulaire d'éléments inutiles. function chars(c) {if(c<=1) document.getElementById('len').firstChild.nodeValue='Votre message fait '+c+' caractère';if(c>=2) document.getElementById('len').firstChild.nodeValue='Votre message fait '+c+' caractères';} Enfin tu devrais utiliser un navigateur comme mozilla ou firefox qui posède un débuggeur javascript, celui ci t'aurait indiqué immédiatement ton erreur. jp Modifié 8 Février 2005 par jpv
Nazario Posté 9 Février 2005 Auteur Posté 9 Février 2005 Merci jpv, l'erreur venait bien de là. Pour économiser les éléments d'un formulaire, je connais .innerHTML pour les <div> mais pas .firstChild.nodeValue, si tu peut m'expliquer vaguement comment s'en servir dans un <p> ou si tu as un lien qui pourrais m'aider, ça serait sympa. Merci encore
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant