Salve a tutti,
vorrei creare una funziona in grado di cambiare il contenuto di un blocco div (identificato con id="contenuto") usando ajax.
Questa funzione deve ricevere due parametri:
- editTag: ossia il tag da editare che, ripeto, è un blocco <div id="contenuto"></div>
- paginaHtml: ossia il contenuto da visualizzare nel tag div.
La funzione che ho scritto è questa
codice:
function assegnaXMLHttpRequest() {
var xmlHttp;
try {
// Firefox, Opera 8.0+, Safari, IE7
xmlHttp=new XMLHttpRequest();
}
catch (e) {
// Internet Explorer 5.x 6
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("Il tuo browser non supporta AJAX!");
return false;
}
}
}
return xmlHttp;
}
function ajaxFunction(editTag,paginaHtml) {
var ajax= assegnaXMLHttpRequest();
var e = document.getElementById(editTag);
ajax.onreadystatechange= function() {
if(ajax.readyState==4) {
e.innerHTML= ajax.responseText;
}
}
ajax.open("GET",paginaHtml,true);
ajax.send(null);
}
</head>
<body>
<form name="myForm">
<input type="button" onclick="javascript:ajaxFunction("contenuto","pagina.html")" />
</form>
<div id="contenuto">io sono dinamico</div>
io sono statico</p>
Ebbene con questo codice i problemi sono 2:
1) così come scritto, non funziona ne su Firefox ne su IE7
2) togliendo i parametri e scrivendo direttamente il nome del tag [var e = document.getElementById("contenuto");] e il nome del file [ajax.open("GET","pagina.html",true);], su Firefox funziona, mentre su IE7 no.
Come posso fare?
Grazie.