Ver Mensaje Individual
  #15 (permalink)  
Antiguo 18/01/2006, 07:05
califa010
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 10 meses
Puntos: 5
Bueno, hice una prueba simplificando al máximo el esquema y funciona. El php sólo dice echo "0".

Acá está el código js. Lo modifiqué para que no tengas que crear y destruir el objeto XMLHttpRequest cada vez que te conectas, pero de la otra manera también funcionaba.

Fijate bien cómo estás llamando a las funciones, desde dónde/qué evento. Como mínimo, debería ser desde "body onLoad", porque te estás refiriendo a elementos html, que hasta que no se cargue la página, no existen. Te digo porque me pasó muchas veces poner getElementById('algunElemento') y si lo hacés antes de que la página cargue, va a aparecer como "undefined". Y ese error muchas veces corta la ejecución del script.

Para chequear que efectivamente existan, poné alerts una línea antes de referirte a algún elemento y fijate que diga HTML Element o por el estilo y no "undefined".

Suerte

Código:
<html>
<head>
<script language="javascript" type="text/javascript">
var conexion;
function AJAXObj(){
	conexion=false;
	try {
		conexion = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			conexion = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			conexion = false;
		}
	}

	if (!conexion && typeof XMLHttpRequest!='undefined') {
		conexion = new XMLHttpRequest();
	}
//	return xmlhttp;
}

function chkPortable(){
	var el_select, el_contenedor;
	el_contenedor = document.getElementById('txtAjax');
	alert(conexion);
	conexion.open("POST", "admincpcatnews.php",true);
	conexion.onreadystatechange =function() {
		if (conexion.readyState==4) {
			alert(conexion.responseText); // esto muestra "0"
		}
	}
	conexion.send(null)
}
</script> 
</head>
<body onLoad="AJAXObj();chkPortable();">
<input type="text" id="txtAjax" value="test">
</body>
</html>