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:
Semplicemente carica dei valori da un database access e li scrive nella pagina,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 %>
Contenitore.htm
Che in teoria dovrebbe prendere il contenuto della pagina combo.asp e metterlo nel tag select con id "sel".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>
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

Rispondi quotando
