Problème liste php controle JS
Résolu
drogba7213
Messages postés
1524
Date d'inscription
Statut
Membre
Dernière intervention
-
drogba7213 Messages postés 1524 Date d'inscription Statut Membre Dernière intervention -
drogba7213 Messages postés 1524 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voila j'ai un formulaire tout simple que je voudrais compliqué un peu pour le bien de l'application
Donc voici un champ de ce formulaire
$sql = "SELECT DESIGNATION FROM TYPE";
$req = odbc_exec($conn,$sql) or die('Erreur SQL : <br />'.$sql);
echo "<select name= 'TYPE' >";
while($data = odbc_fetch_array($req))
{
echo "\n <option value=\"".$data["DESIGNATION"]."\" selected>".$data["DESIGNATION"]."</option>\n\n";
}
echo "<option value='type' selected='selected'>Type</option>";
echo '</select>';
Donc il présente une liste déroulante qui affiche :
Arrêt chaine
Trou
Autres
Type (Par défaut)
Déja dans un premier temps bien qu'il soit par défaut j'aimerais que le champ type ne soit pas clicquable alors je sais pas si c'est possible mais bon...
Et deuxièmement j'aimerais que si l'utilisateur clic sur Trou cela grise une partie du formulaire qu'il n'aurait pas besoin de remplir voila
Pouvez vous m'aider svp
Pour le moment j'ai fait ca mais ca ne fonctionne pas pourriez vous regarder svp car je ne connait presque pas le JS
<script type="text/javascript">
function active(obj)
{
if (obj.selectedIndex == 'Trou')
{
obj.form.HEURE_DEBUT.disabled = '';
obj.form.HEURE_DEBUT.focus();
obj.form.HEURE_FIN.disabled = '';
obj.form.HEURE_FIN.focus();
obj.form.CONSTAT.disabled = '';
obj.form.CONSTAT.focus();
obj.form.DEMANDE.disabled = '';
obj.form.DEMANDE.focus();
obj.form.CAUSE.disabled = '';
obj.form.CAUSE.focus();
obj.form.IMPUTATION.disabled = '';
obj.form.IMPUTATION.focus();
}
if (obj.selectedIndex == 'Autre')
{
obj.form.CONSTAT.disabled = '';
obj.form.CONSTAT.focus();
obj.form.CAUSE.disabled = '';
obj.form.CAUSE.focus();
obj.form.IMPUTATION.disabled = '';
obj.form.IMPUTATION.focus();
}
}
</script>
et le select en html donne ca
<select name= 'TYPE' size="1" onchange="active(this)">
<option value="Arrêt chaîne" selected>Arrêt chaîne</option>
<option value="Trou" selected>Trou</option>
<option value="Autre" selected>Autre</option>
<option value='type' selected='selected'>Type</option></select>
Je ne vois pas ce qu'il manque
Merci d'avance
Voila j'ai un formulaire tout simple que je voudrais compliqué un peu pour le bien de l'application
Donc voici un champ de ce formulaire
$sql = "SELECT DESIGNATION FROM TYPE";
$req = odbc_exec($conn,$sql) or die('Erreur SQL : <br />'.$sql);
echo "<select name= 'TYPE' >";
while($data = odbc_fetch_array($req))
{
echo "\n <option value=\"".$data["DESIGNATION"]."\" selected>".$data["DESIGNATION"]."</option>\n\n";
}
echo "<option value='type' selected='selected'>Type</option>";
echo '</select>';
Donc il présente une liste déroulante qui affiche :
Arrêt chaine
Trou
Autres
Type (Par défaut)
Déja dans un premier temps bien qu'il soit par défaut j'aimerais que le champ type ne soit pas clicquable alors je sais pas si c'est possible mais bon...
Et deuxièmement j'aimerais que si l'utilisateur clic sur Trou cela grise une partie du formulaire qu'il n'aurait pas besoin de remplir voila
Pouvez vous m'aider svp
Pour le moment j'ai fait ca mais ca ne fonctionne pas pourriez vous regarder svp car je ne connait presque pas le JS
<script type="text/javascript">
function active(obj)
{
if (obj.selectedIndex == 'Trou')
{
obj.form.HEURE_DEBUT.disabled = '';
obj.form.HEURE_DEBUT.focus();
obj.form.HEURE_FIN.disabled = '';
obj.form.HEURE_FIN.focus();
obj.form.CONSTAT.disabled = '';
obj.form.CONSTAT.focus();
obj.form.DEMANDE.disabled = '';
obj.form.DEMANDE.focus();
obj.form.CAUSE.disabled = '';
obj.form.CAUSE.focus();
obj.form.IMPUTATION.disabled = '';
obj.form.IMPUTATION.focus();
}
if (obj.selectedIndex == 'Autre')
{
obj.form.CONSTAT.disabled = '';
obj.form.CONSTAT.focus();
obj.form.CAUSE.disabled = '';
obj.form.CAUSE.focus();
obj.form.IMPUTATION.disabled = '';
obj.form.IMPUTATION.focus();
}
}
</script>
et le select en html donne ca
<select name= 'TYPE' size="1" onchange="active(this)">
<option value="Arrêt chaîne" selected>Arrêt chaîne</option>
<option value="Trou" selected>Trou</option>
<option value="Autre" selected>Autre</option>
<option value='type' selected='selected'>Type</option></select>
Je ne vois pas ce qu'il manque
Merci d'avance
A voir également:
- Problème liste php controle JS
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Easy php - Télécharger - Divers Web & Internet
- Fan controle - Télécharger - Optimisation
13 réponses
En faite tu as une liste déroulante, et tu aimerais que lorsque l'utilisateur choisissent "trou" tous les autre champs se grise ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En faite tu donne un nom a ton formulaire déja pour commencer !!
Par exemple :
<form action="xxxxx.php" method='post' name="formulaire_ajouter">
Ensuite tu donne aussi un nom à ta liste déroulante comme tu as fait :
<select name= 'TYPE' size="1" onchange="verif();">
Ensuite donne un "name" et un "id" identique aux autre champs comme par exmple :
<select name= "liste2" id="liste2" size="1">
<select name= "liste3" id="liste3" size="1">
<select name= "liste4" id="liste4" size="1">
<select name= "liste5" id="liste5" size="1">
Et ensuite tu mets un code java script comme ca :
<SCRIPT LANGUAGE="JavaScript">
function verif()
{
if(document.formulaire_ajouter.TYPE.value=="TROU")
{
document.formulaire_ajouter.liste2.disabled = true
document.formulaire_ajouter.liste3.disabled = true
document.formulaire_ajouter.liste4.disabled = true
document.formulaire_ajouter.liste5.disabled = true
}
elseif(document.formulaire_ajouter.TYPE.value!="TROU")
{
document.formulaire_ajouter.liste2.disabled = false
document.formulaire_ajouter.liste3.disabled = false
document.formulaire_ajouter.liste4.disabled = false
document.formulaire_ajouter.liste5.disabled = false
}
}
</script>
Voila essaye ...
Je vais manger je re dans 1h d'ten..++
Par exemple :
<form action="xxxxx.php" method='post' name="formulaire_ajouter">
Ensuite tu donne aussi un nom à ta liste déroulante comme tu as fait :
<select name= 'TYPE' size="1" onchange="verif();">
Ensuite donne un "name" et un "id" identique aux autre champs comme par exmple :
<select name= "liste2" id="liste2" size="1">
<select name= "liste3" id="liste3" size="1">
<select name= "liste4" id="liste4" size="1">
<select name= "liste5" id="liste5" size="1">
Et ensuite tu mets un code java script comme ca :
<SCRIPT LANGUAGE="JavaScript">
function verif()
{
if(document.formulaire_ajouter.TYPE.value=="TROU")
{
document.formulaire_ajouter.liste2.disabled = true
document.formulaire_ajouter.liste3.disabled = true
document.formulaire_ajouter.liste4.disabled = true
document.formulaire_ajouter.liste5.disabled = true
}
elseif(document.formulaire_ajouter.TYPE.value!="TROU")
{
document.formulaire_ajouter.liste2.disabled = false
document.formulaire_ajouter.liste3.disabled = false
document.formulaire_ajouter.liste4.disabled = false
document.formulaire_ajouter.liste5.disabled = false
}
}
</script>
Voila essaye ...
Je vais manger je re dans 1h d'ten..++
bah non car je voudrais faire tout le traitement dans une meme page sans compliqué avec une autre page tu vois..??
Ben je vois pas trop, mais déja essaye avec le post, et si ca marche tant mieu, et apré tu poura enlevé, é si tu voi ke ca marche pu, ben tu remet
lool
....
lool
....
J'ai repris ton code d'origine, mais pour traiter les informations de ton formulaire, le post est vraiment utile.
<script type="text/javascript"> function active(obj) { if (obj.value == 'Trou') { obj.form.champ_test.disabled = false; } if (obj.value == 'Autre') { obj.form.champ_test.disabled = true; } } </script> <form> <select name= 'TYPE' size="1" onchange="active(this)"> <option value="Arrêt chaîne">Arrêt chaîne</option> <option value="Trou">Trou</option> <option value="Autre">Autre</option> <option value='type' selected=>Type</option> </select> <br /> Trou : <input id="champ_test" type="text" value="test" /> </form>
je me suis acharné et j'ai eu raison
<script type="text/javascript">
function active(obj)
{
if (obj.selectedIndex == '1')
{
obj.form.COMPLEMENT.disabled = '';
obj.form.HEURE_DEBUT.disabled = "disabled";
obj.form.HEURE_FIN.disabled = "disabled";
obj.form.CONSTAT.disabled = "disabled";
obj.form.DEMANDE.disabled = "disabled";
obj.form.CAUSE.disabled = "disabled";
obj.form.IMPUTATION.disabled = "disabled";
}
if (obj.selectedIndex == '2')
{
obj.form.HEURE_DEBUT.disabled = '';
obj.form.HEURE_FIN.disabled = '';
obj.form.DEMANDE.disabled = '';
obj.form.IMPUTATION.disabled = '';
obj.form.COMPLEMENT.disabled = '';
obj.form.CONSTAT.disabled = "disabled";
obj.form.CAUSE.disabled = "disabled";
}
if (obj.selectedIndex == '0')
{
obj.form.HEURE_DEBUT.disabled = '';
obj.form.HEURE_FIN.disabled = '';
obj.form.CONSTAT.disabled = '';
obj.form.DEMANDE.disabled = '';
obj.form.CAUSE.disabled = '';
obj.form.COMPLEMENT.disabled = '';
obj.form.IMPUTATION.disabled = '';
}
}
</script>
<select name= 'TYPE' size="1" onchange="active(this)">
<option value="Arrêt chaîne" >Arrêt chaîne</option>
<option value="Trou" >Trou</option>
<option value="Autre" >Autre</option>
<option value='type' selected='selected'>Type</option></select>
Et voila ca fonctionne nikel
merci les gars pour vos conseil
<script type="text/javascript">
function active(obj)
{
if (obj.selectedIndex == '1')
{
obj.form.COMPLEMENT.disabled = '';
obj.form.HEURE_DEBUT.disabled = "disabled";
obj.form.HEURE_FIN.disabled = "disabled";
obj.form.CONSTAT.disabled = "disabled";
obj.form.DEMANDE.disabled = "disabled";
obj.form.CAUSE.disabled = "disabled";
obj.form.IMPUTATION.disabled = "disabled";
}
if (obj.selectedIndex == '2')
{
obj.form.HEURE_DEBUT.disabled = '';
obj.form.HEURE_FIN.disabled = '';
obj.form.DEMANDE.disabled = '';
obj.form.IMPUTATION.disabled = '';
obj.form.COMPLEMENT.disabled = '';
obj.form.CONSTAT.disabled = "disabled";
obj.form.CAUSE.disabled = "disabled";
}
if (obj.selectedIndex == '0')
{
obj.form.HEURE_DEBUT.disabled = '';
obj.form.HEURE_FIN.disabled = '';
obj.form.CONSTAT.disabled = '';
obj.form.DEMANDE.disabled = '';
obj.form.CAUSE.disabled = '';
obj.form.COMPLEMENT.disabled = '';
obj.form.IMPUTATION.disabled = '';
}
}
</script>
<select name= 'TYPE' size="1" onchange="active(this)">
<option value="Arrêt chaîne" >Arrêt chaîne</option>
<option value="Trou" >Trou</option>
<option value="Autre" >Autre</option>
<option value='type' selected='selected'>Type</option></select>
Et voila ca fonctionne nikel
merci les gars pour vos conseil