Nazario Posté 8 Février 2005 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vincent Posté 8 Février 2005 Partager 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> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nazario Posté 8 Février 2005 Auteur Partager 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
jpv Posté 8 Février 2005 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nazario Posté 9 Février 2005 Auteur Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant