cs_amine124
Messages postés48Date d'inscriptionvendredi 20 février 2009StatutMembreDernière intervention 5 août 2016
-
25 janv. 2011 à 14:18
cs_amine124
Messages postés48Date d'inscriptionvendredi 20 février 2009StatutMembreDernière intervention 5 août 2016
-
25 janv. 2011 à 23:36
bonjours, j'ai le code suivant, j'ai un pb dans la fonction verif(). ça marche pas, veuillez mz dire où est le pb exactement;
merci d'avance.
<html>
<head>
<script language= "Javascript">
function verif()
{
if(formulaire.nom.value == '') // s'il manque le nom, affiche l'alerte !
alert('Merci de saisir votre nom!')
else if(formulaire.msg.value == '') // s'il manque le prénom, affiche l'alerte !
alert('Merci de saisir le commentaire!')
else if(formulaire.nom.value '' && formulaire.msg.value '') // si tous les champs sont vides! affiche l'alerte!
alert('Merci de remplir les champs !')
else
formulaire.go.click();
}
</script>
</head>
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 25 janv. 2011 à 15:19
bien le bonjour,
alors pour être précis ou ça ne marche pas, un peu partout ;o)
Dans la méthode verif:
if (formulaire.nom.value = = '')
le formulaire n'a pas de champ nom mais un champ nom_cli (donc, d'entré, ça passe moins bien).
Toujours dans la méthode verif, il n'y a pas de return true/false, donc, l'appel sur le onsubmit passera toujours.
Maintenant, passons à une réécriture... (histoire de)
voilà une fois réécrit le code de vérification des données du formulaire:
<html>
<head>
<script language ="Javascript">
function verif()
{
var msg = "";
// on va travailler sur le formulaire.
with(formulaire){
// Si le champ nom_cli n'est pas renseigné, on ajoute un message d'avertissement. Sinon, on ne fait rien.
msg += (isEmpty(nom_cli)) ? "Merci de renseigner votre nom": "";
// Si le champ commentaire n'est pas renseigné : "(isEmpty(commentaire))" retourne vrais.
// - si la variable msg n'est pas vide on ajoute un retour chariot (\n): "((msg !="" )? "\n" :"")"
// - sinon on ne fait rien.
// et on ajoute le message Merci de saisr un commentaire.
msg += (isEmpty(commentaire)) ? ((msg !="" )? "\n" :"") + "Merci de saisir un commentaire" :"";
}
// Si la variable msg est vide (="") on peu valider le formulaire.
if (msg == ""){
return true;
}
else{
// Sinon, affiche une boite de dialogue et retourne faux.
alert (msg);
return false;
}
}
/**
* Méthod de test retourne vrai si la valeur du champ passé en paramètre est vide.
*
* @param val nom du champ à tester.
*/
function isEmpty(val){
return val.value =="" || val.value == null;
}
</script>
</head>
<form action="inserer.php" method=POST name="formulaire" onSubmit="return verif(this.form)">
Nom:
Commentaire:
<textarea name ="commentaire" rows=12 cols=42>
</textarea>
</form>
</html>
ça à l'air "gros" comme ça, mais si on enlève les commentaires, ça va beaucoup mieux !
Le truc, c'est que plutôt que d'afficher n popup avec tous les champs qui sont non renseigné, je n'en affiche qu'une qui contient tous les champs à renseigner.
cs_amine124
Messages postés48Date d'inscriptionvendredi 20 février 2009StatutMembreDernière intervention 5 août 2016 25 janv. 2011 à 15:56
merci pour la réponse, mais tjr reste le même pb; lorsque je clique sur Envoyer le formulaire s'envoie sans afficher les messages d'alerte si les champs sont vide;