Problème liste php controle JS

Résolu/Fermé
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 5 févr. 2009 à 16:53
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 6 févr. 2009 à 10:48
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
A voir également:

13 réponses

974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
6 févr. 2009 à 07:20
En faite tu as une liste déroulante, et tu aimerais que lorsque l'utilisateur choisissent "trou" tous les autre champs se grise ???

0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
6 févr. 2009 à 08:40
oui enfin quelque uns
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
6 févr. 2009 à 08:43
Atta jte file un code !!!!

0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
6 févr. 2009 à 08:46
thanks
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
6 févr. 2009 à 08:56
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..++

0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
6 févr. 2009 à 10:05
est ce vraiment obligatoire la méthode post?
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
6 févr. 2009 à 10:06
Pourquoi??? tu veux pas mettre ???
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
6 févr. 2009 à 10:07
bah non car je voudrais faire tout le traitement dans une meme page sans compliqué avec une autre page tu vois..??
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
6 févr. 2009 à 10:08
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
....

0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
6 févr. 2009 à 10:11
ok je test je re dans pas lontemps
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
6 févr. 2009 à 10:34
mais cette méthode veut dire que l'utilisateur doit valider pour que le reste soit grisé non?
0
Azer_Ty Messages postés 104 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 4 juillet 2011 60
6 févr. 2009 à 10:42
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>


0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
6 févr. 2009 à 10:48
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
0