Aller au contenu

Sujets conseillés

Posté (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. :huh:

<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é par Nazario
Posté

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>

Posté

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. :unsure:

Posté (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é par jpv
Posté

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 :P

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...