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 :
Le problème c'est que sur le formulaire non affiché les contrôles javascript (class required) et php sont comme même effectué.
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"; } }
Voici mon code html :
Ya t'il un moyen pour ne pas effectué / ignorer les contrôles sur le formulaire non affiché.
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>
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.
Partager