Hola muy buenas, a ver si me podeis echar un cable :
En Mozilla firefox me funciona fenomenal el tema del AJAX pero en ie6 me da error javascript "punteros de marcado no compatibles con esta operacion" al llamar a mi evento javascript calcular():
mi funcion ajax:
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
La función calcula:
Lo único que hace es recoger todos los valores del formulario y mandarlos via GET a otra página ASP:
function calcular()
{
var filtro="";
var valor;
var y="&";
for(i=1;i<document.formulario.length;i++)
{
valor=document.formulario.elements[i].value;
nombrecampo=document.formulario.elements[i].name;
if (i==1)
{
filtro=filtro+nombrecampo+"="+valor;
}
else
{
filtro=filtro+"&"+nombrecampo+"="+valor;
}
}
//alert(filtro);
if(filtro=="")
{
// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto
//document.formulario.estados.value == ""
//document.formulario.estados.disabled = false;
}
else
{
ajax=nuevoAjax();
ajax.open("GET", "ajaxcalcula.asp?"+filtro, true);<-- 'AQUÍ ME MARCA EL ERROR
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Elige pais" y pongo una que dice "Cargando"
// input=document.getElementById("calc");
// document.formulario.ca.value == ""
// var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
//input.appendChild(nuevaOpcion); input.disabled=true;
}
if (ajax.readyState==4)
{
document.getElementById("formactive").innerHTML=aj ax.responseText;
}
}
ajax.send(null);
}
}
MUCHAS GRACIAS