Menu déroulant
octavianus
Messages postés
46
Statut
Membre
-
octavianus Messages postés 46 Statut Membre -
octavianus Messages postés 46 Statut Membre -
Bonjour,
voilà, j'ai 2 menus déroulants pour des commandes de produits, qui proposent chacun 2 possibilités: le 1er est "Règlement" est propose : "reçu" ou "en attente", et le 2nd "Traitée" qui propose "oui" ou "non". Or je voudrais les lier afin que tant que le Règlement est "en attente" , Traitée soit bloqué à "non", et puisse être mise à "oui" quand Règlement est "reçu".
Est-ce que quelqu'un pourrait m'aider? Merci
voilà, j'ai 2 menus déroulants pour des commandes de produits, qui proposent chacun 2 possibilités: le 1er est "Règlement" est propose : "reçu" ou "en attente", et le 2nd "Traitée" qui propose "oui" ou "non". Or je voudrais les lier afin que tant que le Règlement est "en attente" , Traitée soit bloqué à "non", et puisse être mise à "oui" quand Règlement est "reçu".
Est-ce que quelqu'un pourrait m'aider? Merci
A voir également:
- Menu déroulant
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Supprimer menu déroulant excel ✓ - Forum Word
- Canon quick menu - Télécharger - Utilitaires
4 réponses
Voici un exemple de listes déroulantes liées
http://www.thelin.net/laurent/labo/js/listesderoulantes.html
Il ne vous reste qu'à mettre le choix sur Non et un enabled false sur la seconde liste dans le cas où vous êtes sur "traitée".
http://www.thelin.net/laurent/labo/js/listesderoulantes.html
Il ne vous reste qu'à mettre le choix sur Non et un enabled false sur la seconde liste dans le cas où vous êtes sur "traitée".
Merci,
Mais j'ai toujours un problème.
Voici mon code :
<table width=100% border="0" cellpadding="0" cellspacing="2" class="couleur_contenu_tableau_commande">
<tr>
<td height=24 width=15%><span class="couleur_libelle_commande" > Règlement : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))->pour autoriser les modif aux personnes acréditées
{
?><td class="couleur_contenu_tableau_commande" width=15%>
<!--DEBUT menu liste déroulante-->
<SELECT NAME="Reglement" onChange='Choix(this.form)'> <OPTION>En attente</OPTION> <OPTION>Reçu</OPTION> </SELECT>
<SELECT NAME="Traitée"> <OPTION></OPTION> <OPTION></OPTION> </SELECT>
<!--FIN menu liste déroulante-->
et la fonction JavaScript :
function Choix(form)
{
i = form.Reglement.selectedIndex;
if (i == 0) {
return;
} switch (i) {
case 1 : var txt = new Array ('Non'); break;
case 2 : var txt = new Array ('Oui'); break;
}
form.Reglement.selectedIndex = 0;
for (i=0;i<2;i++) {
form.Page.options[i+1].text=txt[i];
}
}
Cà me donne un parse error
Je crois que j'ai mal interprété votre exemple, voyez vous ce qui cloche? Merci
Mais j'ai toujours un problème.
Voici mon code :
<table width=100% border="0" cellpadding="0" cellspacing="2" class="couleur_contenu_tableau_commande">
<tr>
<td height=24 width=15%><span class="couleur_libelle_commande" > Règlement : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))->pour autoriser les modif aux personnes acréditées
{
?><td class="couleur_contenu_tableau_commande" width=15%>
<!--DEBUT menu liste déroulante-->
<SELECT NAME="Reglement" onChange='Choix(this.form)'> <OPTION>En attente</OPTION> <OPTION>Reçu</OPTION> </SELECT>
<SELECT NAME="Traitée"> <OPTION></OPTION> <OPTION></OPTION> </SELECT>
<!--FIN menu liste déroulante-->
et la fonction JavaScript :
function Choix(form)
{
i = form.Reglement.selectedIndex;
if (i == 0) {
return;
} switch (i) {
case 1 : var txt = new Array ('Non'); break;
case 2 : var txt = new Array ('Oui'); break;
}
form.Reglement.selectedIndex = 0;
for (i=0;i<2;i++) {
form.Page.options[i+1].text=txt[i];
}
}
Cà me donne un parse error
Je crois que j'ai mal interprété votre exemple, voyez vous ce qui cloche? Merci
Vous avez vu juste pour le "if"
j'ai donc modifié le code comme cela :
<table width=100% border="0" cellpadding="0" cellspacing="2" class="couleur_contenu_tableau_commande">
<tr>
<td height=24 width=15%><span class="couleur_libelle_commande" > Règlement : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))
{
?><td class="couleur_contenu_tableau_commande" width=15%>
<!--DEBUT menu liste déroulante-->
<SELECT NAME="Reglement" onChange='Choix(this.form)'> <OPTION>En attente</OPTION> <OPTION>Reçu</OPTION> </SELECT>
<?php
}
?>
<td height=24><span class="couleur_libelle_commande" > Traitée : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))
{
?><td class="couleur_contenu_tableau_commande">
<SELECT NAME="Traitée" Onchange="saisie_colis();"> <OPTION > Non </OPTION><OPTION >Oui </OPTION> </SELECT>
<?php
}
?>
Mais réglement "en attente" ne force pas traitée à "non", je ne trouve pas où je dois mettre enable false et comment je dois mettre le choix sur "non"
j'ai donc modifié le code comme cela :
<table width=100% border="0" cellpadding="0" cellspacing="2" class="couleur_contenu_tableau_commande">
<tr>
<td height=24 width=15%><span class="couleur_libelle_commande" > Règlement : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))
{
?><td class="couleur_contenu_tableau_commande" width=15%>
<!--DEBUT menu liste déroulante-->
<SELECT NAME="Reglement" onChange='Choix(this.form)'> <OPTION>En attente</OPTION> <OPTION>Reçu</OPTION> </SELECT>
<?php
}
?>
<td height=24><span class="couleur_libelle_commande" > Traitée : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))
{
?><td class="couleur_contenu_tableau_commande">
<SELECT NAME="Traitée" Onchange="saisie_colis();"> <OPTION > Non </OPTION><OPTION >Oui </OPTION> </SELECT>
<?php
}
?>
Mais réglement "en attente" ne force pas traitée à "non", je ne trouve pas où je dois mettre enable false et comment je dois mettre le choix sur "non"
remplacer ça
<SELECT NAME="Traitée" Onchange="saisie_colis();"> <OPTION > Non </OPTION><OPTION >Oui </OPTION> </SELECT>
par (enlever le é de traitée et mettre les id)
<SELECT NAME="Traitee" Onchange="saisie_colis();"> <OPTION id="non"> Non </OPTION><OPTION id="oui" >Oui </OPTION> </SELECT>
et dans le JS :
switch (i) {
case 1 : var txt = new Array ('Non'); break;
case 2 : var txt = new Array ('Oui'); break;
}
form.Reglement.selectedIndex = 0;
for (i=0;i<2;i++) {
form.Page.options[i+1].text=txt[i];
}
par
switch (i) {
case 1 :
document.getElementById('non').selected = true;
form.Traitee.enabled=false; break;
case 2 :
form.Traitee.enabled=true;
break;
}
//ici plus rien
c'est bon?
<SELECT NAME="Traitée" Onchange="saisie_colis();"> <OPTION > Non </OPTION><OPTION >Oui </OPTION> </SELECT>
par (enlever le é de traitée et mettre les id)
<SELECT NAME="Traitee" Onchange="saisie_colis();"> <OPTION id="non"> Non </OPTION><OPTION id="oui" >Oui </OPTION> </SELECT>
et dans le JS :
switch (i) {
case 1 : var txt = new Array ('Non'); break;
case 2 : var txt = new Array ('Oui'); break;
}
form.Reglement.selectedIndex = 0;
for (i=0;i<2;i++) {
form.Page.options[i+1].text=txt[i];
}
par
switch (i) {
case 1 :
document.getElementById('non').selected = true;
form.Traitee.enabled=false; break;
case 2 :
form.Traitee.enabled=true;
break;
}
//ici plus rien
c'est bon?
Maintenant que j'ai corrigé le code et ajouté les affichages, lors de mes modifications de commandes, mes menus me permettent bien de prendre le Règlement "En attente" ou "Reçu", mais pas de bloquer Traitée sur "non" quand le Règlement est "En attente", et çà n'enregistre pas les modifs dans la base SQL, mais çà en efface le statut "ou" ou "non"
le code corrigé:
<table width=100% border="0" cellpadding="0" cellspacing="2" class="couleur_contenu_tableau_commande">
<tr>
<td height=24 width=15%><span class="couleur_libelle_commande" > Règlement : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))
{
?><td class="couleur_contenu_tableau_commande" width=15%>
<!--DEBUT menu liste déroulante (RAJOUT id pour Règlement)-->
<SELECT id="reglement" NAME="reglement" style="WIDTH: 100px" onChange='Choix(this.form)'>
<OPTION id="en attente">En attente</OPTION>
<OPTION id="recu">Reçu</OPTION>
</SELECT>
</td><?php
}
else
{
?><td><?php echo $etat_reglement;?></td><?php
} ?>
<td height=24 width=45% ><span class="couleur_libelle_commande" > </span></td>
<?php if(($statut==1)&& (@$_SESSION['profil']>=3))
{ ?>
<td rowspan=2 align=center><input type="submit" name="modification_commande" id="modification_commande" style="WIDTH :120px ; HEIGHT : 20px" value="Modifier la commande" title="Enregistrement des modifications" Onclick="return verif_traitee();"></td>
<?php }
else
{ ?>
<td rowspan=2 align=center> </td>
<?php } ?>
</tr>
<tr>
<td height=24 ><span class="couleur_libelle_commande" > Traitée : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))
{
?><td class="couleur_contenu_tableau_commande">
<SELECT id="traitee" NAME="traitee" style="WIDTH: 100px">
<OPTION id="non">Non</OPTION>
<OPTION id="oui" >Oui</OPTION>
</SELECT>
</td><?php
}
else
{
?><td><?php echo $traitee;?></td><?php
} ?>
la fonction javascript:
function Choix(form)
{
i = form.reglement.selectedIndex;
if (i == 0) {
return;
} switch (i) {
case 1 :
document.getElementById('non').selected = true;
form.traitee.enabled=false; break;
case 2 :
form.traitee.enabled=true;
break;
}
}
Bref il ne reconnaît pas la variable que je lui demande de stocker : $traitee , que je récupère lors de mes modifications de commandes par ces requêtes SQL:
if(@$_POST["modification_commande"])
{
if(@$_POST["etat_traitee"]=="Non")
{
mysql_query("UPDATE lg_commande SET traitee='$_POST[etat_traitee]',etat_reglement='$_POST[reglement]' where id_commande = '$numero_commande'");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=gestion_commande.php\" >";
exit();
}
else
{
mysql_query("UPDATE lg_commande SET traitee='$_POST[etat_traitee]',etat_reglement='$_POST[reglement]',etat_commande='1',
numero_colis='$_POST[numero_colis]' where id_commande = '$numero_commande'");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=gestion_commande.php\" >";
exit();
}
}
casse-tête!
le code corrigé:
<table width=100% border="0" cellpadding="0" cellspacing="2" class="couleur_contenu_tableau_commande">
<tr>
<td height=24 width=15%><span class="couleur_libelle_commande" > Règlement : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))
{
?><td class="couleur_contenu_tableau_commande" width=15%>
<!--DEBUT menu liste déroulante (RAJOUT id pour Règlement)-->
<SELECT id="reglement" NAME="reglement" style="WIDTH: 100px" onChange='Choix(this.form)'>
<OPTION id="en attente">En attente</OPTION>
<OPTION id="recu">Reçu</OPTION>
</SELECT>
</td><?php
}
else
{
?><td><?php echo $etat_reglement;?></td><?php
} ?>
<td height=24 width=45% ><span class="couleur_libelle_commande" > </span></td>
<?php if(($statut==1)&& (@$_SESSION['profil']>=3))
{ ?>
<td rowspan=2 align=center><input type="submit" name="modification_commande" id="modification_commande" style="WIDTH :120px ; HEIGHT : 20px" value="Modifier la commande" title="Enregistrement des modifications" Onclick="return verif_traitee();"></td>
<?php }
else
{ ?>
<td rowspan=2 align=center> </td>
<?php } ?>
</tr>
<tr>
<td height=24 ><span class="couleur_libelle_commande" > Traitée : </span></td>
<?php if(($statut==1) && (@$_SESSION['profil']>=3))
{
?><td class="couleur_contenu_tableau_commande">
<SELECT id="traitee" NAME="traitee" style="WIDTH: 100px">
<OPTION id="non">Non</OPTION>
<OPTION id="oui" >Oui</OPTION>
</SELECT>
</td><?php
}
else
{
?><td><?php echo $traitee;?></td><?php
} ?>
la fonction javascript:
function Choix(form)
{
i = form.reglement.selectedIndex;
if (i == 0) {
return;
} switch (i) {
case 1 :
document.getElementById('non').selected = true;
form.traitee.enabled=false; break;
case 2 :
form.traitee.enabled=true;
break;
}
}
Bref il ne reconnaît pas la variable que je lui demande de stocker : $traitee , que je récupère lors de mes modifications de commandes par ces requêtes SQL:
if(@$_POST["modification_commande"])
{
if(@$_POST["etat_traitee"]=="Non")
{
mysql_query("UPDATE lg_commande SET traitee='$_POST[etat_traitee]',etat_reglement='$_POST[reglement]' where id_commande = '$numero_commande'");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=gestion_commande.php\" >";
exit();
}
else
{
mysql_query("UPDATE lg_commande SET traitee='$_POST[etat_traitee]',etat_reglement='$_POST[reglement]',etat_commande='1',
numero_colis='$_POST[numero_colis]' where id_commande = '$numero_commande'");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=gestion_commande.php\" >";
exit();
}
}
casse-tête!