Bonsoir,

Je souhaite qu'une partie d'un formulaire de recherche s'affiche en fonction du choix d'un bouton radio.

Pour faire cela j'ai décidé d'afficher ou nom le formulaire concerné grâce à cette fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
function grise(radio) {
	if(radio[0].checked){
		document.getElementById('f2').style.display = "none";
		document.getElementById('f1').style.display = "block";
	} 
	if(radio[1].checked){
		document.getElementById('f1').style.display = "none";
		document.getElementById('f2').style.display = "block";
	}
}
Le problème c'est que sur le formulaire non affiché les contrôles javascript (class required) et php sont comme même effectué.

Voici mon code html :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<body onload="grise(document.getElementsByName('choixRech'))">
		<form action="traitementApp.php" class="cmxform" id="frm_choix" method="post">
			<p>
				<label for="recherche">Type de recherche : </label>
				<input type='radio' name='choixRech' value='baie' checked='checked' onclick='grise(this.form.choixRech)'> Recherche par Baie 
				<input type='radio' name='choixRech' value='ip' onclick='grise(this.form.choixRech)'> Recherche par Nom ou IP
			</p>
			<fieldset id ='f1'>
				<legend>Recherche par local </legend>
				<p>
					<label for="site">Site</label>
					<select name='site' id='site' class="required">
						<option value="">Choisir un site...</option>
						<option value="lile">lile</option>
						<option value="amiens">amiens</option>
						<option value="lile">rouen</option>
						<option value="paris">paris</option>
					</select>
				</p>
				<p>
					<label for="batiment">Bâtiment</label>
					<span id='spbatiment'>
						<select name='batiment' id='batiment' class="required">
							<option value="">Choisir un batiment...</option>
							<option value="c">c</option>
							<option value="d">d</option>
							<option value="f">f</option>
						</select>
					</span>
				</p>
				<p>
					<label for="baie">Local</label>
					<span id='spbaie'>
						<select name='baie' id='baie' class="required">
							<option value="">Choisir un local...</option>
							<option value="b1">b1</option>
							<option value="b2">b2</option>
							<option value="b3">b3</option>
							<option value="b5">b5</option>
							<option value="b7">b7</option>
							<option value="b8">b8</option>
							<option value="b9">b9</option>
							<option value="b10">b10</option>
						</select>
					</span>
				</p>
			</fieldset>
 
			<fieldset id = 'f2'>
				<legend>Recherche par nom ou IP </legend>
				<p>
					<label for='nom'>Nom</label>
					<select name='nom[]' id='nom' size='4' multiple class="required">
						<option value='2510'>2510</option>
						<option value='2610'>2610</option>
						<option value='2510'>2512</option>
						<option value='2510'>2524</option>
						<option value='2510'>2312</option>
						<option value='2510'>2324</option>
					</select>
				</p>
				<p>
					<label for='ip'>Adresse</label>
					<select name='ip[]' id='ip'size='4' multiple class="required">
						<option value='10.0.0.0'>10.0.0.0</option>
						<option value='10.0.0.2'>10.0.0.2</option>
						<option value='10.0.0.3'>10.0.0.3</option>
						<option value='10.0.0.5'>10.0.0.5</option>
						<option value='10.0.0.9'>10.0.0.9</option>
						<option value='10.0.0.10'>10.0.0.10</option>
						<option value='10.0.0.11'>10.0.0.11</option>
						<option value='10.0.0.12'>10.0.0.12</option>
						<option value='10.0.0.13'>10.0.0.13</option>
					</select>
				</p>
			</fieldset>
			<fieldset>
				<legend>Options</legend>
				<p>
					<label for="nbjour">Afficher les données depuis :</label>
					<select name="nbjour">
						<option value="0">Aucun tri</option>
						<option value="1">1 jours</option>
						<option value="7">7 jours</option>
						<option value="30">30 jours</option>
					</select>
				</p>
				<p>
					<input class="submit" type="submit" value="Envoyer">
				</p>
			</fieldset>
		</form>
	</body>
Ya t'il un moyen pour ne pas effectué / ignorer les contrôles sur le formulaire non affiché.
Si cela n'est pas possible comment puis-je m'en sortir ?

Si cela n'est pas possible, quel sont les possibilités pour avoir un formulaire de recherche modulable ?

D'avance merci.