Ignorer certains éléments d'un formulaire
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:
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:
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.