par
BaLiSTiK » 07 juil. 2008, 16:24
Oké, alors je fignole une page d'inscription pour un site qui servira d'aide pour des agriculteurs.
Sur ce formulaire, en premier lieu, la personne doit renseigner son métier, qui sont de 3 différents :
Sica (id : 3) qui sont des Societés d'Iterêts Collectif Agricol
Exploitant (id : 4) : gerant d'une exploitation agricole
Ouvrier agricole (id : 5) qui travaille au sein d'une exploitation.
Si il choisi SICA, le formulaire doit afficher dans une balise <select> la liste des SICA enregistrées dans la base, si il opte pour Exploitant, il choisit la SICA auquel il est affilié ainsi que le numero de son exploitation (que l on appelle numero de pacage).
Pour ça que j ai créé deux <div> qui sont par defaut masqués et qui s'affiche en fonction du choix de l'utilisateur.
Code javascript:
Code : Tout sélectionner
<script type="text/javascript">
function changeDiv(numOption){
var expl = document.getElementById("div_expl");
var sica = document.getElementById("div_sica");
//alert("Num de l option "+numOption);
// var numOption = this.value; // this correspond ici au select
//EXPLIUTATIOn
if(numOption == 4){
expl.style.display = "block";
sica.style.display = "none"
}
//SICA
if(numOption == 3) {
expl.style.display = "none";
sica.style.display = "block";
}
/*else{
sica.style.display = "none";
expl.style.display = "none";
}*/
}
</script>
Sélection du métier
<p class="consignes-form">Sélectionnez votre métier</p>
<?php
$sCodeInput = '<select size="1" name="num_level" id="num_level" style="max-width: 200px;" onchange="changeDiv(this.value);"';
if (!$oInscription->m_bModeEdition ){
$sCodeInput .= 'disabled="disabled"';
}
$sCodeInput .= '>';
$sCodeInput .= '<option>Sélectionner</option>';
foreach ($oInscription->m_aListeLevel as $sCle => $sValeur) {
$sCodeOption = '<option';
$sCodeOption .= ' style="width: 100px;" value=' . $sCle . '>';
$sCodeOption .= $sValeur['level'].'</option>';
$sCodeInput .= $sCodeOption;
}
$sCodeInput .= '</select>';
echo $sCodeInput;
?>
<br />
Si l'user opte pour Exploitation :
<div id="expl" style="display:none;">
<p class="consignes-form">Si vous êtes exploitant :</p>
<p class="consignes-form">Sélectionnez votre SICA</p>
<?php
$sCodeInput = '<select name="sica" id="sica" class="marge-combo" style="max-width:200px;"';
if (!$oInscription->m_bModeEdition ){
$sCodeInput .= 'disabled="disabled"';
}
$sCodeInput .= '>';
$sCodeInput .= '<option value="1">Sélectionner</option>';
foreach ($oInscription->m_aListeSica as $sCle => $sValeur) {
$sCodeOption = '<option';
$sCodeOption .= ' style="width: 100px;" value="'.$sCle.'"';
$sCodeOption .= '>';
$sCodeOption .= $sValeur['nom_sica'].'</option>';
$sCodeInput .= $sCodeOption;
}
$sCodeInput .= '</select>';
echo $sCodeInput; ?>
<p class="consignes-form">Selectionnez le numéro de pacage de votre exploitation</p>
<?php
$sCodeInput = '<input type="text" id="num_pac" name="num_pac" maxlength="50" size="25" class="taille-champ-saisie"';
if (!$oInscription->m_bModeEdition){
$sCodeInput .= 'disabled="disabled"';
}
$sCodeInput .= '>';
echo $sCodeInput; ?>
</div>
Et dans le cas ou il opte pour SICA :
<div id="sica" style="display:none;">
<p class="consignes-form">Si representez une SICA :</p>
<p class="consignes-form">Sélectionnez votre SICA</p>
<?php
$sCodeInput = '<select name="sica" id="sica" class="marge-combo" style="max-width: 200px;"';
if (!$oInscription->m_bModeEdition ){
$sCodeInput .= 'disabled="disabled"';
}
$sCodeInput .= '>';
$sCodeInput .= '<option value="1">Sélectionner</option>';
foreach ($oInscription->m_aListeSica as $sCle => $sValeur) {
$sCodeOption = '<option';
$sCodeOption .= ' style="width: 100px;" value="'.$sCle.'"';
$sCodeOption .= '>';
$sCodeOption .= $sValeur['nom_sica'].'</option>';
$sCodeInput .= $sCodeOption;
}
$sCodeInput .= '</select>';
echo $sCodeInput;
?>
</div>
Le probleme venais apparement du nommage des <div>, il y avait conflit entre le nom du div sica (renommé en div_sica et les balises select qui s'appele aussi sica.
Probleme résolu (pendant la redaction du post qui plus est !!)
Merci bcp

Oké, alors je fignole une page d'inscription pour un site qui servira d'aide pour des agriculteurs.
Sur ce formulaire, en premier lieu, la personne doit renseigner son métier, qui sont de 3 différents :
Sica (id : 3) qui sont des Societés d'Iterêts Collectif Agricol
Exploitant (id : 4) : gerant d'une exploitation agricole
Ouvrier agricole (id : 5) qui travaille au sein d'une exploitation.
Si il choisi SICA, le formulaire doit afficher dans une balise <select> la liste des SICA enregistrées dans la base, si il opte pour Exploitant, il choisit la SICA auquel il est affilié ainsi que le numero de son exploitation (que l on appelle numero de pacage).
Pour ça que j ai créé deux <div> qui sont par defaut masqués et qui s'affiche en fonction du choix de l'utilisateur.
Code javascript:
[code]
<script type="text/javascript">
function changeDiv(numOption){
var expl = document.getElementById("div_expl");
var sica = document.getElementById("div_sica");
//alert("Num de l option "+numOption);
// var numOption = this.value; // this correspond ici au select
//EXPLIUTATIOn
if(numOption == 4){
expl.style.display = "block";
sica.style.display = "none"
}
//SICA
if(numOption == 3) {
expl.style.display = "none";
sica.style.display = "block";
}
/*else{
sica.style.display = "none";
expl.style.display = "none";
}*/
}
</script>
[/code]
Sélection du métier
[php]
<p class="consignes-form">Sélectionnez votre métier</p>
<?php
$sCodeInput = '<select size="1" name="num_level" id="num_level" style="max-width: 200px;" onchange="changeDiv(this.value);"';
if (!$oInscription->m_bModeEdition ){
$sCodeInput .= 'disabled="disabled"';
}
$sCodeInput .= '>';
$sCodeInput .= '<option>Sélectionner</option>';
foreach ($oInscription->m_aListeLevel as $sCle => $sValeur) {
$sCodeOption = '<option';
$sCodeOption .= ' style="width: 100px;" value=' . $sCle . '>';
$sCodeOption .= $sValeur['level'].'</option>';
$sCodeInput .= $sCodeOption;
}
$sCodeInput .= '</select>';
echo $sCodeInput;
?>
<br />
[/php]
Si l'user opte pour Exploitation :
[php]
<div id="expl" style="display:none;">
<p class="consignes-form">Si vous êtes exploitant :</p>
<p class="consignes-form">Sélectionnez votre SICA</p>
<?php
$sCodeInput = '<select name="sica" id="sica" class="marge-combo" style="max-width:200px;"';
if (!$oInscription->m_bModeEdition ){
$sCodeInput .= 'disabled="disabled"';
}
$sCodeInput .= '>';
$sCodeInput .= '<option value="1">Sélectionner</option>';
foreach ($oInscription->m_aListeSica as $sCle => $sValeur) {
$sCodeOption = '<option';
$sCodeOption .= ' style="width: 100px;" value="'.$sCle.'"';
$sCodeOption .= '>';
$sCodeOption .= $sValeur['nom_sica'].'</option>';
$sCodeInput .= $sCodeOption;
}
$sCodeInput .= '</select>';
echo $sCodeInput; ?>
<p class="consignes-form">Selectionnez le numéro de pacage de votre exploitation</p>
<?php
$sCodeInput = '<input type="text" id="num_pac" name="num_pac" maxlength="50" size="25" class="taille-champ-saisie"';
if (!$oInscription->m_bModeEdition){
$sCodeInput .= 'disabled="disabled"';
}
$sCodeInput .= '>';
echo $sCodeInput; ?>
</div>
[/php]
Et dans le cas ou il opte pour SICA :
[php]
<div id="sica" style="display:none;">
<p class="consignes-form">Si representez une SICA :</p>
<p class="consignes-form">Sélectionnez votre SICA</p>
<?php
$sCodeInput = '<select name="sica" id="sica" class="marge-combo" style="max-width: 200px;"';
if (!$oInscription->m_bModeEdition ){
$sCodeInput .= 'disabled="disabled"';
}
$sCodeInput .= '>';
$sCodeInput .= '<option value="1">Sélectionner</option>';
foreach ($oInscription->m_aListeSica as $sCle => $sValeur) {
$sCodeOption = '<option';
$sCodeOption .= ' style="width: 100px;" value="'.$sCle.'"';
$sCodeOption .= '>';
$sCodeOption .= $sValeur['nom_sica'].'</option>';
$sCodeInput .= $sCodeOption;
}
$sCodeInput .= '</select>';
echo $sCodeInput;
?>
</div>
[/php]
Le probleme venais apparement du nommage des <div>, il y avait conflit entre le nom du div sica (renommé en div_sica et les balises select qui s'appele aussi sica.
Probleme résolu (pendant la redaction du post qui plus est !!)
Merci bcp :)