william_dallas Posté 16 Juin 2009 Posté 16 Juin 2009 Bonjour à tous, J'ai un problème facilement résolvable à mon avis, mais je galère. J'ai un form avec 2 champs, 1 ville de départ & 1 ville d'arrivée avec une redirection lorsque les 2 villes sont choisies ou une alerte si aucune ville n'est séléctionnée. function form() {var ville_dep = document.formulaire.ville_dep.value;var ville_arr = document.formulaire.ville_arr.value;if ((ville_dep=='') || (ville_arr=='')) { alert("Veuillez indiquer les villes de départ et d\'arrivée");}else if { window.location.href="formulaire.php?ivd="+ville_dep+"&iva="+ville_arr;} Pouvez-vous me dire ce qui ne va pas dans la fonction ci-dessus? Merci ++
captain_torche Posté 16 Juin 2009 Posté 16 Juin 2009 Tu ne précises pas de condition dans ton second if, supprime le tout simplement pour ne garder que le else.
william_dallas Posté 16 Juin 2009 Auteur Posté 16 Juin 2009 (modifié) c'est fait mais aucun changement la fonction ne marche pas... ni l'alert, ni la redirection! Tu ne vois pas d'autres fautes dans la syntaxe? P.S: juste ca, ca marche bien function form() {var ville_dep = document.formulaire.ville_dep.value;var ville_arr = document.formulaire.ville_arr.value;window.location.href="formulaire.php?ivd="+ville_dep+"&iva="+ville_arr; Modifié 16 Juin 2009 par william_dallas
kadisbel Posté 16 Juin 2009 Posté 16 Juin 2009 Bonjour En fait 3 choses : Il manque une accolade à la fin de la fonction, ensuite, il faudrait appeler la fonction autrement ("monAction" ou "MonForm") et enfin, essayez de placer le script en bas de page (avant la balise </body>). Essayez comme ça et dites nous si ça marche.
william_dallas Posté 16 Juin 2009 Auteur Posté 16 Juin 2009 bonjour kadisbel, je viens d'essayer tout ça mais aucun changement, j'ai bien renommer la fonction, je l'ai placée avant le </body> et l'accolade est là. Je comprend pas...
Ernestine Posté 16 Juin 2009 Posté 16 Juin 2009 Peut-être que c'est dans le formulaire que ça ne va pas... merci de nous le copier
kadisbel Posté 16 Juin 2009 Posté 16 Juin 2009 Pourriez vous faire un copié/collé du formulaire et de la fonction dans son intégralité SVP? Chez moi en écrivant ceci : <body><form action="" method="get" name="formulaire"> <input name="ville_dep" id="ville_dep" type="text" /> <input name="ville_arr" id="ville_arr" type="text" /> <input name="" type="button" onclick="MonAction();" /></form><script language="javascript">function MonAction() { var ville_dep = document.formulaire.ville_dep.value; var ville_arr = document.formulaire.ville_arr.value; if ((ville_dep=='') || (ville_arr=='')) { alert("Veuillez indiquer les villes de départ et d\'arrivée"); }else { window.location.href="formulaire.php?ivd="+ville_dep+"&iva="+ville_arr; }}</script></body> ca marche, mais ne sachant pas quel type de formulaire vous faites c'est difficile de vous aider
william_dallas Posté 16 Juin 2009 Auteur Posté 16 Juin 2009 Voilà <form method="post" enctype="multipart/form-data" name="formulaire" action=""> <table cellpadding="3" cellspacing="0"> <tr> <td> <select name="ville_dep" id="ville_dep"> <option value="">-- Ville de départ --</option> <?php $query = "select nom_ville, id_ville from ville"; $res=mysql_query($query); while($row=mysql_fetch_array($res)) { echo "<option value=\"".$row['id_ville']."\">".$row['nom_ville']."</option>"; } ?> </select> </td> <td> <select name="ville_arr" id="ville_arr"> <option value="">-- Ville de destination --</option> <?php $query = "select nom_ville, id_ville from ville"; $res=mysql_query($query); while($row=mysql_fetch_array($res)) { echo "<option value=\"".$row['id_ville']."\">".$row['nom_ville']."</option>"; } ?> </select> </td> <td> <a href="java script:Myform();"><input type="button" value="Go" title="" /></a> </td> </tr> </table> </form> et la fonction : function Myform(){var ville_dep = document.formulaire.ville_dep.value;var ville_arr = document.formulaire.ville_arr.value;if(ville_dep == '' || ville_arr == '') { alert("Veuillez indiquer les villes de départ et d\'arrivée");}else { window.location.href="formulaire.php?ivd="+ville_dep+"&iva="+ville_arr;}
kadisbel Posté 16 Juin 2009 Posté 16 Juin 2009 <a href="java script:Myform();"><input type="button" value="Go" title="" /></a> Remplacez par : <input type="button" value="Go" title="" onclick="Myform();" /> Et dites nous si cette fois ça marche
Ernestine Posté 16 Juin 2009 Posté 16 Juin 2009 Tu as bien fermé la fonction par une accolade ? (comme dit par Kadisbel plus haut) Sur le bloc que tu as copié, ce n'est pas le cas.
william_dallas Posté 16 Juin 2009 Auteur Posté 16 Juin 2009 Arf je suis bête, c'est ça! Merci à vous, problème résolu! ++
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant