requete sur on change dans 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 : requete sur on change dans liste deroulante

par bunk » 03 mai 2006, 14:08

tout a fait !

meri encore

par Cyrano » 03 mai 2006, 14:04

merci Cyrano, je n'arivais pas a mettre une deuxième valeur dans mon select :?
Est-ce que ça résoud le problème ?

par bunk » 03 mai 2006, 13:56

merci Cyrano, je n'arivais pas a mettre une deuxième valeur dans mon select :?

par Ryle » 03 mai 2006, 13:49

Pour récupérer la valeur sélectionnée d'une liste déroulante il faut procéder ainsi :

Code : Tout sélectionner

document.monFormulaire.monSelect.options[document.monFormulaire.monSelect.selectedIndex].value
Une autre solution plus simple consiste à passer cette valeur en paramètre de ta fonction dans le onChange (la syntaxe reste la même, elle est juste plus légère puisque l'on peut utiliser l'objet "this" pour spécifier le select) :

Code : Tout sélectionner

<select name='diffuse' onChange='Diffusion(". $id_contact .", this.options[this.selectedIndex].value);'>
Il te suffit alors de rajouter un deuxième argument à ta fonction Diffusion().

par Cyrano » 03 mai 2006, 13:48

Proposition: envoie la valeur en second paramètre. Modifie ta fonction JavaScript comme ceci:
function Diffusion(id, valeur)
{
    var identifiant = valeur + id;
    location.href="index.php?nvg=9&id="+ identifiant;
}
Et dans ton formulaire :
<?php
//...
                            echo "<form name='form_diffuse' action='index.php?nvg=9' method='post'>";
                            echo "<select name='diffuse' onChange='Diffusion(". $id_contact .", this.value)'>";
                            echo "<option value='" . $diffuse . "' SELECTED >" . $diffuse . "</option>";
                            
                            if($diffuse == "OUI") {
                                echo "<option value='NON'>NON</option>";
                                } else {
                                echo "<option value='OUI'>OUI</option>";
                                }    
                            echo "</select>";
//...
?>

requete sur on change dans liste deroulante

par bunk » 03 mai 2006, 13:40

Bonjour,

Je cherche à executer une requete apres changement d'etat d'une liste déroulante (on change) en fonction d'un ID

Ma fonction javascript :
function Diffusion(id) {
location.href="index.php?nvg=9&val=" + document.form_diffuse.diffuse.value + "&id=" + id;
}
Mon champ :
echo "<form name='form_diffuse' action='index.php?nvg=9' method='post'>";
							
							echo "<select name='diffuse' onChange='Diffusion(". $id_contact .")'>";
							echo "<option value='" . $diffuse . "' SELECTED >" . $diffuse . "</option>";
							
							if($diffuse == "OUI") {
								echo "<option value='NON'>NON</option>";
								} else {
								echo "<option value='OUI'>OUI</option>";
								}	
							
							echo "</select>";
Je rencontre une dificultés, la première la valeur de la liste déroulante n'est pas présente dans l'URL de redirection (undefined)

Pouvez vous m'aider ?
D'avance merci