Salve a tutti,
sto impazzendo:
Vi espongo il problema:
Ho un form generato con PEAR HTML QUICKFORM.
All'interno del FORM ho 3 SELECT.
- REGIONE
- PROVINCIA
- COMUNE
Nella prima select carico un array che contiene le option value con tutte le regioni di Italia.
Alla select aggiungo l'attributo onchange="dochange('prov',this.value" che fa riferimento a questa funzione JavaScript/AJAX:
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};
function dochange(src, val) {
var req = Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
document.getElementById(src).innerHTML=req.respons eText; //
}
}
};
req.open("GET", "typo3conf/ext/pareri/pi1/localeinsert.php?data="+src+"&val="+val); //
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
req.send(null); //
}
Lo Script localeinsert.php, come potrete immaginare, è semplicissimo: effettua una query SQL su una tabella che contiene le provincie e ritorna in HTML <option value="provincia">provincia</option>
Su FIREFOX tutto ok, senza alcun problema.
Con Internet Explorer non ne vuole proprio sapere.
Questa è una parte del codice localeinsert.php
if ($data=='prov') {
echo "<option value=\"\">Scegli una provincia</option>\n";
$val2=$val;
$result=mysql_db_query($dbname,"SELECT * FROM prov WHERE regione='$val' ORDER BY prov");
while($row=mysql_fetch_array($result)){
echo "<option value=\"$row[prov]\" >$row[prov]</option> \n" ;
}
A chi mi risolve questo problema offro un pranzo.
Grazie a tutti e buona giornata.