Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2006, 11:01
palitus666
 
Fecha de Ingreso: marzo-2006
Mensajes: 5
Antigüedad: 18 años, 1 mes
Puntos: 0
problemas ajax en ie6 "punteros de marcado no compatibles con esta operacion"

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