Categories > TinyButStrong general (FR) >

Formulaires dynamiques

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Zed
Date: 2005-02-17
Time: 23:26

Formulaires dynamiques

Bonjour,

J'ai voulu crée, en m'inspirant de votre exemple d'affichage conditionnel, 2 liste déroulante dont l'une (région) dépend de la sélection de l'autre(province)  mais le rafraichissement s'effectue en remettant les valeurs initiales.

Voici mon code :

<?

include_once('Libs/tbs_class.php') ;
include_once('../mysql.php') ;
$connect = mconnect();

$TBS = new clsTinyButStrong ;
$TBS->CacheAction('*',TBS_DELETE);
$TBS->LoadTemplate('Templates/Adresse.html') ;

if (isset($_POST['x_province']) and $_POST['x_province'] != "0")
{
      $x_province = $_POST['x_province'];
;
      $x_region = "0";
      $TBS->MergeBlock('regionblk', $connect,   sql_Liste_Regions($x_pro));

}
else
{
      $NullTab = array();
      $x_province = "0";
      $x_region = "0";
      $TBS->MergeBlock('provinceblk', $connect, sql_Liste_Provinces()) ;
      $TBS->MergeBlock('regionblk', $NullTab) ;

}



$TBS->Show() ;

?>

--------------------

<title>Saisie d'un nouveau logement</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../styles.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
function m_pro_Select() {
    window.location = '[var..script_name]?x_province=' + window.document.frm_condition.province.value
}
function m_reg_Select() {
    window.location = '[var..script_name]?x_region=' + window.document.frm_condition.region.value
}

</script>
</head>
<body>

<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td width="400"><table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="0099CC">
          <tr>
            <td height="20" bgcolor="#00CCCC"align ="center"><b>Coordonnées</b></td>
          </tr>
          <form action="[var..script_name]" method="post" name="frm_condition" id="frm_condition">
          <tr>
            <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
                <tr align="left" valign="bottom" class="back-special2">
                  <td width="52">Province : </td>
                  <td width="188">
                        <select name="province" class="normal" id="lst_block" onChange="javascript:m_pro_Select()">
                          <option value="0">&lt;faites un choix&gt;</option>
                          <option value="[provinceblk.Nom_Province]">[provinceblk.Nom_Province;block=option]</option>
                          <option>[var.x_province;selected]</option>
                        </select>
                  </td>
                </tr>
                <tr align="left" valign="bottom" class="back-special2">
                  <td>Région : </td>
                  <td>
                        <select name="region" class="normal" id="lst_block" onChange="javascript:m_reg_Select()">
                          <option value="0">&lt;faites un choix&gt;</option>
                          <option value="[regionblk.Nom_Region]">[regionblk.Nom_Region;block=option]</option>
                          <option>[var.x_region;selected]</option>
                        </select>
                  </td>
                </tr>

               </form>
              </table></td>
          </tr>
        </table></td>
    </tr>
  </table>
</body>
</html>
By: Skrol29
Date: 2005-02-18
Time: 02:19

Re: Formulaires dynamiques

Bonjour Zed,

$_POST['x_province'] n'existe jamais. Tu l'as passé par l'URL, il est donc dans $_GET.

PS : ta balise </form> est mal placée,  elle devrait se situer après le </tr> suivant.
By: Zed
Date: 2005-02-18
Time: 12:39

Re: Formulaires dynamiques

Cool ca marche ! Merci.