pb liste deroulante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb liste deroulante

par Cyrano » 13 juil. 2006, 07:46

Oui,
la valeur n'est envoyée que sur l'évènement onchange. Or, lorsque ta liste est affichée, le premier item est sélectionné par défaut, donc si tu le laisse tel quel, il n'y a pas d'évènement et la fonction JavaScript n'est jamais appelée.

Pour corriger le problème, ajoute une option vide avec par exemple value="-1" avant la boucle qui génère les autres options. Dans ce cas, pour avoir le premier item, tu devras le sélectionner et effectuer le changement qui déclenchera l'appel à la fonction. Dans cette fonction, pour éviter des problèmes possible, ajoute ensuite une alternative

Code : Tout sélectionner

if(ton-option != '-1') {le reste de ta fonction}

pb liste deroulante

par Invité » 13 juil. 2006, 02:11

Bonjour à tous,
J'ai créé une petite fonction js qui envoie une valeur de liste déroulante sur sélection. La liste est remplie par un tableau.
//fonction javascript
<script language="javascript">
<!-- 
function Choix(valeur) {
  document.location.replace("index.php?valeur=" + valeur );
} 
-->
</script>

//liste déroulante
	  <select name="select1" onChange='Choix(this.value)'>
	  <option value='Tous les modules'>----Tous les modules---</option>
          <?php
		  for ($i=0; $i <count($tab_lst_comp); $i++) {
		  echo "<option value='$tab_lst_comp[$i]'>" . $tab_lst_comp[$i] ."</option>";
		  }
		  ?>
        </select>

Toutes les valeurs de la liste sont bien envoyées dans l'url sauf le 1er item, 'Tous les modules' .

Quand je sélectionne le 1er item, la valeur n'est pas envoyée.
Pourtant tous les autres items sont des phrases du même type que le 1er.

Voyez vous ce que j'ai oublié?