Se connecter avec
S'enregistrer | Connectez-vous

Javascript : récupérer des valeurs d'une liste déroulante

Dernière réponse : dans Programmation

Hello,

Autre question toujours à propos de ce même script. Pour récupérer la valeur de document.choix.langue.value, je suis obligé de regarder document.choix.langue.value.length. Sinon, je ne retrouve rien dans document.choix.langue.value.

Du coup, je fais des tests bidons : les champs sont forcément non vides vu que ce sont des listes déroulantes.

Ci-dessous le Javascript :

function selPage() {
if (document.choix.langue.value.length == 0) {
alert("Sélectionnez la langue, merci");
}
else {
lan = document.choix.langue.value;
if (document.choix.rubrique.value.length == 0) {
alert("Sélectionnez une rubrique, merci");
}
else {
rub = document.choix.rubrique.value;
}
}

destination = rub + "?langue=" + lan;
//document.writeln();
document.location.href = destination;
}



Et le formulaire :

<form name="choix" onSubmit="selPage()">
<select name="langue">
<OPTION VALUE="FR">FR</option>
<OPTION VALUE="EN">EN</option>
<OPTION VALUE="ES">ES</option>
</select>
<select name="rubrique">
<option value="actualites.php">Actualités (home)</option>
<option value="communiques.php">Communiqués de presse</option>
<option value="evenements.php">Evènements</option>
<option value="nouveautes.php">Nouveautés (home)</option>
<option value="references.php">Références</option>
</select>
<input type="submit" name="Submit" value="Valider"></td>
</form>


Merci
Lassé par la pub ? Créez un compte

Oui merci :-) Je sais que ces tests sont bidons. Je le dis au début du mail.

Ma question, c'est justement, pourquoi est -ce que j'ai besoin de ces tests a priori inutiles pour pouvoir récupérer la valeur des options.

et accessoirement pourquoi la redirection ne fonctionne pas tel quel.

Après, je sais qu'on peut aussi envoyer le résultat d'un form en get ou en post, mais ce n'est pas mon propos.

Merci

Je peux poser la question plus simplement. Quelqu'un peut-il me dire pourquoi le script ci-dessous ne marche pas ?

<html>
<head>
<script language="javascript">
function selPage() {
lan = document.choix.langue.value;
rub = document.choix.rubrique.value;
destination = rub + "?langue=" + lan;
document.location.href = destination;
}
</script>
</head>
<body>
<form name="choix" onSubmit="selPage()">
<select name="langue">
<OPTION VALUE="FR">FR</option>
<OPTION VALUE="EN">EN</option>
<OPTION VALUE="ES">ES</option>
</select>
<select name="rubrique">
<option value="actualites.php">Actualités (home)</option>
<option value="communiques.php">Communiqués de presse</option>
<option value="evenements.php">Evènements</option>
<option value="nouveautes.php">Nouveautés (home)</option>
<option value="references.php">Références</option>
</select>
<input type="submit" name="Submit" value="Valider"></td>
</form>
</Body>

apprend a coder correctement... et sans js :o 

  1. <form action="page2.php" method="get">
  2. <select name="langue">
  3. <OPTION VALUE="FR">FR</option>
  4. <OPTION VALUE="EN">EN</option>
  5. <OPTION VALUE="ES">ES</option>
  6. </select>
  7. <select name="rubrique">
  8. <option value="actualites.php">Actualités (home)</option>
  9. <option value="communiques.php">Communiqués de presse</option>
  10. <option value="evenements.php">Evènements</option>
  11. <option value="nouveautes.php">Nouveautés (home)</option>
  12. <option value="references.php">Références</option>
  13. </select>
  14. <input type="submit" name="Submit" value="Valider">
  15. </form>


et dans page2.php tu mets
  1. <pre><?php print_r($_GET); ?></pre>


regarde le résultat...

J'essaye simplement le Javascript dans ce cas. Ca ne marche pas. Et je me disais qu'un spécialiste pourrait peut être m'éclairer sur le pourquoi du comment.
Je ne vois pas où se trouve l'erreur et je n'aime pas lacher l'affaire, surtout pour un truc apparemment très simple.
Lassé par la pub ? Créez un compte