Ciao sto imparando ajax e seguendo questa guida http://antirez.com/articoli/spaghettiajax.html ho realizzato questo esempio che mi servirebbe anche per lavoro ma ho il seguente problema:
Ho due pagine combo.asp e contenitore.htm
Combo.asp:
codice:
<%
path = Server.MapPath("./combo.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & path)
SQL = "SELECT * FROM combo ORDER BY id"
set RS = server.CreateObject("ADODB.Recordset")
rs.Open sql,conn
while not rs.EOF
response.Write "<option value="& RS("id") &">"& RS("testo") &"</option>"
rs.MoveNext
wend
rs.Close
set rs=nothing
conn.Close
set conn=nothing
%>
Semplicemente carica dei valori da un database access e li scrive nella pagina,
Contenitore.htm
codice:
<HTML><HEAD>
</HEAD>
<script language="javascript">
var myRequest = null;
function CreateXmlHttpReq2(handler) {
var xmlhttp = null;
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
xmlhttp.onreadystatechange = handler;
return xmlhttp;
}
function myHandler2() {
if (myRequest.readyState == 4 && myRequest.status == 200) {
alert(myRequest.responseText);
document.getElementById("sel").innerHTML = myRequest.responseText;
}
}
function test(){
myRequest = CreateXmlHttpReq2(myHandler2);
myRequest.open("GET","combo.asp");
myRequest.send(null);
}
</script>
<BODY>
<input type="button" onclick="test()">
<div id="vis">
</div>
<form action="c.asp" method="get">
<select id="sel" name="sel" ><option value="-">------</option></select>
<input type="button" value="vai" onclick="javascript:alert(document.getElementById('sel').innerHTML);">
</form>
</BODY></HTML>
Che in teoria dovrebbe prendere il contenuto della pagina combo.asp e metterlo nel tag select con id "sel".
Questo con Firefox funziona a dovere, ma mi servirebbe proprio usarlo anche su Internet Explorer 5,6 e successivi (sul 7 e 8 non ho ancora avuto occasione di provarlo).
Il problema e' che con Firefox la pagina combo.asp viene recuperata in modo esatto visualizzando la select con i seguenti valori :
<option value=1>ciao</option>
<option value=2>prova</option>
<option value=3>sono ajax</option>
<option value=4>simone</option>
<option value=5>cucu</option>
<option value=6>bhu</option>
<option value=7>settete</option>
<option value=8>funziono</option>
<option value=9>mi leggi</option>
<option value=10>sono un test di combo</option>
Invece su Internet explorer viene troncato il primo "<option value=1>" dell'elenco sopra e mi rimane:
ciao</option>
<option value=2>prova</option>
<option value=3>sono ajax</option>
<option value=4>simone</option>
<option value=5>cucu</option>
<option value=6>bhu</option>
<option value=7>settete</option>
<option value=8>funziono</option>
<option value=9>mi leggi</option>
<option value=10>sono un test di combo</option>
e nella select non viene visualizzato un bel niente.
Potete aiutarmi ? ciao e scusate se son stato prolisso.
Grazie
abe