Tom's Guide > Forum > Programmation > Formulaire balise textarea

Formulaire balise textarea

Forum Programmation : Formulaire balise textarea

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous. J'ai posté ma première question hier et comme j'ai été parfaitement aidé, je retente ma chance pour une nouvelle question.

Dans mon formulaire que je vais vous mettre un peu plus bas, j'ai une balise "textarea". J'aimerais savoir le script exact que je dois créer pour être sur que l'utilisateur ait au moins écrit quelque chose.

Comment faire ??


Voici mon code html :

<form name="form" id="form" method="post" action="verif.php" onsubmit="return validation(this);">

<fieldset>
<legend class="legende">Formulaire de contact du CHPTE</legend>
<br />
<label for="sender_name">Nom et prénom (*) : </label>
<br />
<input type="text" name="sender_name" id="sender_name" size="30" />
<br />
<br />
<label for="sender_email">Email (*) : </label>
<br />
<input type="text" name="sender_email" id="sender_email" size="30" />
<br />
<br />
<label for="message">Message (*) : </label>
<br />
<textarea cols="50" rows="6" name="message" id="message"></textarea>
<br />

<input type="submit" class="bouton" value="Envoyer" /> -
<input type="reset" style="color: #006c94; font-weight:bolder" value="Annuler" />
<br />

<p>(*) Champ obligatoire</p>
</fieldset>

</form>

ps: j'ai su faire le script pour les autres "input" de type "text" mais pas pour le "textarea".

Un grand merci d'avance

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Passe par le php :

<?
if(isset($_POST['message']) and !empty($_POST['message'])) { ?>
Actions ...

<? } // fin de la vérif
?>

Répondre à polweb

salut,
tu peux aussi procéder par le javascript avec ta fonction validation!

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25
- 0 +

Pour le javascript, ça sera :
document.getElementById('message').value

Répondre à OmaR

Je ne comprends pas. je fais exactement ce que vous me dites et ça ne marche pas. Voici le code complet de mon script. La vérif pour le nom et pour l'email vont parfaitement mais pas pour la balise textarea.... :(

Que faire ??

<script type="text/javascript">



function validation(f){
ok=true;
if (f.sender_name.value == "" ) {
alert("Le champ \"Nom et prénom\" doit être complété" );
ok = false;
return ok;
}
if (f.sender_email.value == "" ) {
alert("Le champ \"Email\" doit être complété" );
ok = false;
return ok;
}
email = f.sender_email.value;
if (f.sender_email.value == "" ) {
alert("Le champ \"Email\" est obligatoire" );
ok = false;
return ok;
}
else {
p1 = email.indexOf("@" );
p2 = email.lastIndexOf("." );
if( p1 == -1) {
alert("Il n'y a pas d'@ dans cette adresse" );
ok= false;
}
else if( p2 == -1) {
alert("Il n'y a pas de point dans cette adresse" );
ok= false;
}
else if( p2 < p1 ) {
alert("Il manque un point après l'@" );
ok= false;
}
return ok;
}

if(document.getElementById('message').value =="" ){
alert("message vide" );
return false;
}

return true;

}


</script>

Répondre à WaXoU@IDN

vu que tu utilises validation (), autant utiliser la variable f!!

Code :
  1. if (f.message.value == '') { alert ('message vide'); return false; }



ensuite, dans ta fonction:

Code :
  1. // à ce point du script ok = true
  2. email = f.sender_email.value;
  3. if (f.sender_email.value == "" ) { // tu viens d'instancier une variable email, autant l'utiliser!!
  4.   alert("Le champ \"Email\" est obligatoire" );
  5.   ok = false;
  6.   return ok;
  7. }
  8. else {
  9.   p1 = email.indexOf("@" );
  10.   p2 = email.lastIndexOf("." );
  11.   if( p1 == -1) {
  12.     alert("Il n'y a pas d'@ dans cette adresse" );
  13.     ok= false;
  14.   }
  15.   else if( p2 == -1) {
  16.     alert("Il n'y a pas de point dans cette adresse" );
  17.     ok= false;
  18.   }
  19.   else if( p2 < p1 ) {
  20.     alert("Il manque un point après l'@" );
  21.     ok= false;
  22.   }
  23. // tu arrives ici, si l'email et le nom sont bon tu retourne "true"
  24.   return ok;
  25. }
  26. // du coup le reste de ta fonction n'est pas exécutée...

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25
- 0 +

et avec f.message.value ? ca marche ou pas ?
et si tu fais un alert(document.getElementById('message').value) ça te donne quoi ?

Répondre à OmaR

Voilà, j'ai réussi grâce à vous !

C était :

... else if( p2 < p1 ) {
alert("Il manque un point après l'@" );
ok= false;
}
// tu arrives ici, si l'email et le nom sont bon tu retourne "true"
return ok;
}
// du coup le reste de ta fonction n'est pas exécutée...

-->
else if( p2 < p1 ) {
alert("Il manque un point après l'@" );
ok= false;
}
}

if (f.message.value == '')
{
alert('Vous devez rentrer un message');
return false;
}
return true;
}


</script>

Voilà ce que j ai mis et ça marche parfaitement.

Un tout grand merci les gars, c'est très gentil !

Répondre à WaXoU@IDN

J'en profite pour demander un peu d'aide, mon problème est similaire.

Pour ma part je souhaite juste vérifier via le javascript que l'utilisateur à au moins rentrer 5 caractères dans un champs texte précis.

Donc voici une partie du code Html:

<form id="formulaire" onsubmit="verifie()">
<input type="text" id="login">
<input type="submit" value="Envoyer" id="envoi">
</form>

Le Javascript:

document.getElementById("envoi" ).onclick = function()
{
var login = document.forms['formulaire'].elements['login'];

if (login.length>=5 && login != null)
alert("le formulaire sera envoyé" );
return true;

else
alert("erreur, votre login doit comporter au moins 5 caractères" );
return false;

Je n'arrive pas a comprendre,pourtant je suis presque sûr que c'est la propriété length qui permet de vérifier la longueur d'une chaine de caractère.

D'avance je vous remercie

Répondre à auron9

Hum j'ai trouvé ^^

Merci

Répondre à auron9
Tom's Guide > Forum > Programmation > Formulaire balise textarea
Aller à :

Il y a 2523 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens