Salve a tutti!
ho una select dinamica che da un elenco delle provincie italiane mi carica tramite un file php i record dei comuni da un database Mysql.
Funziona quasi tutto alla perfezione in IE (valore della provincia + valore del comune)... ma negli altri browser (firefox / crome) passa solo il valore abbinato alla provincia ma non quello dei comuni. I file sono i seguenti:
- form.html
- SelectComune.js
- SelectComune.php (richiama i dati dal database sql)
CODICE form.html:
CODICE SelectComune.js:codice:<script type="text/javascript" src="SelectComune.js"></script> <select name="SelezionaProvincia" onChange="getCity('SelectComune.php?PROV='+this.value)"> <option value="" selected="selected" style="background-color:#343434; font-weight: bold; color: #FFFFFF;">Seleziona la provincia:</option> <option value="84">AGRIGENTO</option> <option value="6">ALESSANDRIA</option> <option value="42">ANCONA</option> <option value="7">AOSTA</option> <option value="51">AREZZO</option> <option value="44">ASCOLI PICENO</option> <option value="5">ASTI</option> <option value="64">AVELLINO</option> <option value="72">BARI</option> <option value="25">BELLUNO</option> <option value="62">BENEVENTO</option> <option value="16">BERGAMO</option> <option value="96">BIELLA</option> <option value="37">BOLOGNA</option> <option value="21">BOLZANO</option> <option value="17">BRESCIA</option> <option value="74">BRINDISI</option> <option value="92">CAGLIARI</option> <option value="85">CALTANISSETTA</option> <option value="70">CAMPOBASSO</option> <option value="107">CARBONIA-IGLESIAS</option> <option value="61">CASERTA</option> <option value="87">CATANIA</option> <option value="79">CATANZARO</option> <option value="69">CHIETI</option> <option value="13">COMO</option> <option value="78">COSENZA</option> <option value="19">CREMONA</option> <option value="101">CROTONE</option> <option value="4">CUNEO</option> <option value="86">ENNA</option> <option value="38">FERRARA</option> <option value="48">FIRENZE</option> <option value="71">FOGGIA</option> <option value="40">FORL&IGRAVE;-CESENA</option> <option value="60">FROSINONE</option> <option value="10">GENOVA</option> <option value="31">GORIZIA</option> <option value="53">GROSSETO</option> <option value="8">IMPERIA</option> <option value="94">ISERNIA</option> <option value="66">L'AQUILA</option> <option value="11">LA SPEZIA</option> <option value="59">LATINA</option> <option value="75">LECCE</option> <option value="97">LECCO</option> <option value="49">LIVORNO</option> <option value="98">LODI</option> <option value="46">LUCCA</option> <option value="43">MACERATA</option> <option value="20">MANTOVA</option> <option value="45">MASSA-CARRARA</option> <option value="77">MATERA</option> <option value="106">MEDIO CAMPIDANO</option> <option value="83">MESSINA</option> <option value="15">MILANO</option> <option value="36">MODENA</option> <option value="63">NAPOLI</option> <option value="3">NOVARA</option> <option value="91">NUORO</option> <option value="105">OGLIASTRA</option> <option value="104">OLBIA-TEMPIO</option> <option value="95">ORISTANO</option> <option value="28">PADOVA</option> <option value="82">PALERMO</option> <option value="34">PARMA</option> <option value="18">PAVIA</option> <option value="54">PERUGIA</option> <option value="41">PESARO E URBINO</option> <option value="68">PESCARA</option> <option value="33">PIACENZA</option> <option value="50">PISA</option> <option value="47">PISTOIA</option> <option value="93">PORDENONE</option> <option value="76">POTENZA</option> <option value="100">PRATO</option> <option value="88">RAGUSA</option> <option value="39">RAVENNA</option> <option value="80">REGGIO CALABRIA</option> <option value="35">REGGIO EMILIA</option> <option value="57">RIETI</option> <option value="99">RIMINI</option> <option value="58">ROMA</option> <option value="29">ROVIGO</option> <option value="65">SALERNO</option> <option value="90">SASSARI</option> <option value="9">SAVONA</option> <option value="52">SIENA</option> <option value="89">SIRACUSA</option> <option value="14">SONDRIO</option> <option value="73">TARANTO</option> <option value="67">TERAMO</option> <option value="55">TERNI</option> <option value="1">TORINO</option> <option value="81">TRAPANI</option> <option value="22">TRENTO</option> <option value="26">TREVISO</option> <option value="32">TRIESTE</option> <option value="30">UDINE</option> <option value="12">VARESE</option> <option value="27">VENEZIA</option> <option value="103">VERBANO-CUSIO-OSSOLA</option> <option value="2">VERCELLI</option> <option value="23">VERONA</option> <option value="102">VIBO VALENTIA</option> <option value="24">VICENZA</option> <option value="56">VITERBO</option> </select> <span id="ElencoComuni"><select name="SelezionaComune" > <option value="" style="background-color:#343434; font-weight: bold; color: #FFFFFF;">Seleziona il comune:</option> </select></span>
CODICE SelectComune.php:codice:function getXMLHTTP() { var xmlhttp=false; try{ xmlhttp=new XMLHttpRequest(); } catch(e) { try{ xmlhttp= new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e1){ xmlhttp=false; } } } return xmlhttp; } function getCity(strURL) { var req = getXMLHTTP(); if (req) { req.onreadystatechange = function() { if (req.readyState == 4) { if (req.status == 200) { document.getElementById('ElencoComuni').innerHTML=req.responseText; } else { alert("Errore utilizzo XMLHTTP:\n" + req.statusText); } } } req.open("GET", strURL, true); req.send(null); } }
DATABASE:Codice PHP:<?PHP $Server = 'MyNameServer'; $ServerUtente = 'MyNameUser'; $ServerPass = 'MyPassUser'; $ServerDB = 'MyDatabase'; $ConnessioneServer = mysql_connect($Server,$ServerUtente,$ServerPass) or die("Connessione server non valida"); $ConnessioneDB = mysql_select_db($ServerDB, $ConnessioneServer) or die("Connessione database non riuscita"); $province=$_REQUEST['PROV']; $query="SELECT * FROM comune WHERE id_provincia=$province"; $result=mysql_query($query); ?> <select name="SelezionaComune"> <option>Seleziona comune</option> <?PHP while($row=mysql_fetch_array($result)) { ?> <option value="<?=$row['id']?>"><?=$row['nome']?></option> <?PHP } ?> </select>
codice:CREATE TABLE `comune` ( `id` int(10) NOT NULL auto_increment, `id_regione` int(10) NOT NULL, `id_provincia` int(10) NOT NULL, `nome` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; INSERT INTO `comune` (`id`, `id_regione`, `id_provincia`, `nome`) VALUES (1, 1, 1, 'Agliè'), ................................................................................... (8099, 20, 107, 'Villamassargia'), (8100, 20, 107, 'Villaperuccio');
Sicuramente dipende dal codice contenuto nel file SelectComune.js che non è compatibile con i browser Firefox e Chrome.... ma che funziona solo con Explorer!
Riuscite ad aiutarmi, grazie![]()

Rispondi quotando