Champ formulaire visible selon liste deroulante

Signaler
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008
-
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
-
bonjour,
je suis en train de faire un formulaire pour un ajout de materiel
mais en fonction du type de matériel ( si c'est un ordinateur ou une imprimante : par exemple)
les champs a remplir ne sont pas les mêmes
est ce que on peut m'aider svp ?
si il y a pas assez d explication ou autre signalez le moi je ferai de mon mieux
voici ce que j'ai fait :
============
<html>
<head>
<title>Ajout matériel</title>
//voici le script que j'ai fait mais je l ai pas fini car des champs apparaitront si c ordi et d autre si c imprimante
<script language="text/javascript">
function apparence()
{
if(type.value==3||type.value==4)
{
document.getElementById("champordi").style.visibility="visible";
}else{
document.getElementById("champordi").style.visibility="hidden";
}
}
</script>
</head>

<?php
include('../config.php');
?>
<fieldset><legend align="center">Ajout de matériel</legend>
<form action="confirmajoutmatériel.php" method="POST" name="formulaire">
N° de série:,
,
----
Marque:,
>,
----
Type matériel:,
//voila la liste déroulante qui devra faire apparaitre les champs selon ce ke lon ajoute
<select name="type" onChange="formulaire.apparence();">
<?php
$sql = "SELECT * FROM $table_type";
$query=mysql_query($sql) or die ('Erreur');
$nb=mysql_num_rows($query); //nbr de ligne de résultat de la requête
if ($nb=0)
{
echo '<option>---Aucun Type---</option>';
} else {
echo'<option value="" selected>---Séléctionnez le type---</option>';
while ($list2 = mysql_fetch_array($query))
{
echo '<option value='.$list2['id_type_reseau'].'>'.$list2['type_reseau'].'</option>';
}
}
?>
</select>,
----
Modèle :,
,
----
Bon de commande :,
,
----
Admin/Pédag :,
<select name="stat">
<option value="" selected>---Séléctionnez le statut---</option>
<option value="Adiminstratif">Adiminstratif</option>
<option value="Pédagogique">Pédagogique</option>
</select>,
----
Nom matériel :,
,
----
//voici juste les champs a apparaitre si c un ordinateur
<table border="0" id="champordi" style="visibility:hidden;">
----, CPU :</td>
,
----
Mémoire vive(RAM) :,
,
----
Carte Réseau :,
,
----
Carte Graphique :,
,
----
Carte Son :,
,
----
Lecteur CD/DVD:,
,
----
Graveur CD/DVD :,
,
----
Système d'exploitation :,
,
----
Lecteur disquette :,
,
----
DLT :,
,
----
Logiciels spécifiques :,
<textarea name="soft" rows="5" cols="40" onClick="this.value='';">placez vos logiciels spécifiques !!!
</textarea>
</td></tr>
</table>
</form>
</fieldset>

</html>

9 réponses

Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
salut,

<script language="text/javascript">
function apparence(type)
{
if(type==3 || type==4)
{
document.getElementById("champordi").style.visibility="visible";
}else{
document.getElementById("champordi").style.visibility="hidden";
}
}
</script>

...

<select name="type"
onChange="formulaire.apparence(this.value);">
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,

<script type="text/javascript">

language est déprécié en XHTML strict ;-)

<select name="type"
onChange="formulaire.apparence(this.value);">

> <select name"type"
onchange="apparence(this.value);">

Minuscules pour le onchange car sinon déprécié en xhtml strict, et le formulaire. n'est pas utile.

Tu auras plus de précisions sur le forum javascript... www.javascriptfr.com

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

salut, g effectué les modifications ke tu m'as apporté mais malheureusement
sa ne fonctionne toujours pas
il n'y a rien qui se passe et dans la barre d'état en bas de la fenêtre il y a le logo "attention" accompagné de l inscription suivante "Terminé"
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
tu dois avoir une erreur javascript fais voir le code...
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
je me demande si 'champordi' est bien un élément du form ?

<table border="0" id="champordi" style="visibility:hidden;">
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

<html>
<head>
<title>Ajout matériel</title>
<script language="text/javascript">
function apparence(type)
{
if(type==3 || type==4)
{
document.getElementById("champordi").style.visibility="visible";
}else{
document.getElementById("champordi").style.visibility="hidden";
}
}
</script>
</head>

<?php
include('../config.php');
?>
<fieldset><legend align="center">Ajout de matériel</legend>
<form action="confirmajoutmatériel.php" method="POST" name="formulaire">
N° de série:,
,
----
Type matériel:,
<select name="type" onChange="apparence(this.value);">
<?php
$sql = "SELECT * FROM $table_type";
$query=mysql_query($sql) or die ('Erreur');
$nb=mysql_num_rows($query); //nbr de ligne de résultat de la requête
if ($nb=0)
{
echo '<option>---Aucun Type---</option>';
} else {
echo'<option value="" selected>---Séléctionnez le type---</option>';
while ($list2 = mysql_fetch_array($query))
{
echo '<option value='.$list2['id_type_reseau'].'>'.$list2['type_reseau'].'</option>';
}
}
?>
</select>,
----
Modèle :,
,
----
Bon de commande :,
,
----
Admin/Pédag :,
<select name="stat">
<option value="" selected>---Séléctionnez le statut---</option>
<option value="Adiminstratif">Adiminstratif</option>
<option value="Pédagogique">Pédagogique</option>
</select>,
----
Nom matériel :,
,
<!-- Champ visible seulement si c est un ordinateur-->
----
<table border="0" id="champordi" style="visibility:hidden">
----, CPU :</td>
,
----
Mémoire vive(RAM) :,
,
----
Carte Réseau :,
,
----
Carte Graphique :,
,
----
Carte Son :,
,
----
Lecteur CD/DVD:,
,
----
Graveur CD/DVD :,
,
----
Système d'exploitation :,
,
----
Lecteur disquette :,
,
----
DLT :,
,
----
Logiciels spécifiques :,
<textarea name="soft" rows="5" cols="40" onClick="this.value='';">placez vos logiciels spécifiques !!!
</textarea>,

</td></tr>


<tr><td colspan="2" align="center"></td>
<!-- -->
</tr>
</table>
</form>
</fieldset>

</html>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
"

salut, g effectué les modifications ke tu m'as apporté mais malheureusement
sa ne fonctionne toujours pas"

Pose ta question sur le forum approprié...

www.javascriptfr.com

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

ok no pb merci kan meme
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
pourquoi pas en php ??



tu fais une auto-soumission du form avec le select

et au debut , tu testes le type et tu affiches

en fonction