1
Gestione Form / Problema comuni regioni e provincie
« il: 16 Set 2010, 12:51:09 »
Ciao vales, sto preparando una form per l'inserimento di un indirizzo . Ora ho tre dropdown che devo prendere dal database regioni province e comuni. Ho seguito il tuo codice sembra che ho fatto tutto correttamnte il javascript è presente anche nella pagina che viene renderizzata ma non vedo nulla ti allego il codice .
la parte che sta nella sezione html
nella sezione javascrip ho inserito
tutte le query funzionano a dovere ma non vedo nulla. Spero che tu mi possa aiutare perchè non riesco a capire dove sbaglio.
Grazie infinite in anticipo;)
la parte che sta nella sezione html
Codice: [Seleziona]
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">Regione</label>
<select onfocus="fillCategory();" onChange="SelectRegione();" class="form" id="id_regione" name="id_regione">
<option value="">Seleziona</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">Provincia</label>
<select class="cf_inputbox validate-selection" id="provincia" size="1" title="" name="provincia">
<option value="">Seleziona</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">Comune</label>
<select class="cf_inputbox validate-selection" id="select_14" size="1" title="" name="comune">
<option value="">Seleziona</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
nella sezione javascrip ho inserito
Codice: [Seleziona]
<?php
//questo è il codice da inserire nella TAB Form Code sezione javascript
echo "\n function fillCategory(){ ";
echo "\n removeAllOptions(document.getElementById('ChronoContact_personale_segi').id_regione);";
// questa funzione è usata per riempire le sezioni al caricament
$db =& JFactory::getDBO();
$query = "
SELECT `idregione`,`nomeregione`
FROM `regioni`
ORDER BY `nomeregione` ";
$db->setQuery($query);
$nomes = $db->loadAssocList();
foreach ( $nomes as $nt1 ) {
echo "\n addOption(document.ChronoContact_personale_segi.i d_regione, '".$nt1['idregione']."', '".$nt1['nomeregione']."'); ";
}
echo "\n}"; // fine della funzione Javascript - end of JS function
?>
function SelectRegione(){
// Funzione chiamata dopo la selezione della Sezione
//removeAllOptions(document.ChronoContact_personale_segi.i d_regione);
//addOption(document.ChronoContact_personale_segi.r egione, "", "Seleziona", "");
// Raccoglie tutti gli elementi della categoria per id
<?php
$query= "
SELECT distinct(idregione) FROM `regioni`";
$db->setQuery($query);
$nomes = $db->loadAssocList();
$nome_options = "";
// inizio ciclo sezioni
foreach ( $nomes as $nt2 ) {
echo "\n if(document.ChronoContact_personale_segi.i d_regione.value == '".$nt2['idregione']."'){ ";
$query= "
SELECT `idprovincia`,`nomeprovincia` FROM `province` WHERE `idregione` ='".$nt2['idregione']."' ORDER BY `nomeprovincia`" ;
$db->setQuery($query);
$nomes = $db->loadAssocList();
$nome_options = "";
//inizio ciclo categorie
foreach ( $nomes as $nt3 ) {
echo "\n addOption(document.ChronoContact_personale_segi.p rovincia,'".$nt3['idprovincia']."', '".$nt3['nomeprovincia']."'); ";
} // fine ciclo categorie
echo "\n}"; // fine della if Javascript
} // fine loop sezioni
?>
}
// fine della funzione javascripts
//////////////////
function removeAllOptions(selectbox)
{
var i;
for(i=selectbox.options.length-1;i>=1;i--)
{
selectbox.options=null;
//selectbox.remove(i);
}
}
function addOption(selectbox, value, text )
{
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
selectbox.options.add(optn);
}
tutte le query funzionano a dovere ma non vedo nulla. Spero che tu mi possa aiutare perchè non riesco a capire dove sbaglio.
Grazie infinite in anticipo;)