Foros del Web » Programando para Internet » Javascript » Frameworks JS »

ajax e internet explorer

Estas en el tema de ajax e internet explorer en el foro de Frameworks JS en Foros del Web. Un pequeño-gran problema con ajax-javascript e internet explorer A ver si me explico: Tengo una página que muestra resultados de una búsqueda. Dado que en ...
  #1 (permalink)  
Antiguo 22/01/2007, 14:24
 
Fecha de Ingreso: agosto-2003
Mensajes: 43
Antigüedad: 20 años, 8 meses
Puntos: 0
ajax e internet explorer

Un pequeño-gran problema con ajax-javascript e internet explorer

A ver si me explico:
Tengo una página que muestra resultados de una búsqueda. Dado que en la página además de los resultados de la búsqueda se pueden cargar otras opciones, la página se carga mediante ajax en un <div id="ajaxcontentarea"></div>

Código HTML:
<html>
<head>
<script type=text/javascript src=XConh><script>
<script type=text/javascript>
function chekando(name,value) {

if(document.getElementById(+name).checked) {
window.alert('activamdp valor '+name);
}
else {
window.alert('desactivando valor '+name);
}
function mostrar(pregunta) {
var myConn = new XHConn();
document.getElementById(ajaxcontentstyle).innerHTML = "<img src='imagen/loading.gif' /> Buscando pagina...";
if (!myConn) alert("XMLHTTP no esta disponible. Inténtalo con un navegador más actual.");
var peticion = function (oXML) { document.getElementById(ajaxcontenstyle).innerHTML = oXML.responseText; };
myConn.connect("incluyeresult.php", "POST", "tipo="+pregunta, peticion); 

}
</script>
</head>
<body onload="mostrar(1)">
<div id=ajaxcontentstyle></div>
</body> 
Hasta aquí todo muy bien.
El documento php muestra los resultados de la búsqueda.

Estos resultados de la búsqueda están ordenados e incluyen un checkbox
Código PHP:
echo"<p><input type=\"checkbox\" name=\"$i\" value=\"1\" id=\"$i\"  onclick=\"javascript:chekando(this.name,this.value)\">"
Pues bien, con firefox no hay problema. Al hacer clic sobre el checkbox, aparece nuestro window.alert precioso. Sin embargo internet explorer no hace nada en absoluto (cabrito el vaya).

Si alguien se pregunta por que hago esto y no cargo directamente los resultados es porque en realidad la página de resultados tiene varias opciones (enviar por correo los datos, mostrar resultados recomendados, etc... que se cargan mediante un javascript:mostrar('otro numero').

La función checkando es más compleja pero con lo puesto basta. IE no hace ni caso (en realidad siempre sale la ventana "desactivando valor (y aquí el valor del name). Es como si cogiera bien la orden this.name pero no supiera de donde viene ni nada por el estilo.
Alquien tiene una idea de por que IE no toma el valor del checkbox?
__________________
pwmcorg
  #2 (permalink)  
Antiguo 22/01/2007, 19:57
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: ajax e internet explorer

loading............


quita el +

if(document.getElementById(+name).checked)

connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 25/01/2007, 01:18
 
Fecha de Ingreso: agosto-2003
Mensajes: 43
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: ajax e internet explorer

Cita:
Iniciado por MaBoRaK Ver Mensaje
loading............


quita el +

if(document.getElementById(+name).checked)

connection closed.
Pues gracias amigo por la sugerencia pero no es ese el problema.
En realidad IE recoge el nombre dado por this.name pero cuando se trata de identificar el estado del elemento tomado por id de ese nombre parece que nanay.
La solución que he encontrado es sencilla aunque no se por que fucniona
Código HTML:
<body onload=mostrar(2)> 
La acción que tenia puesta (y la que de verdad me interesaba) era que cargara "mostrar(1)" que muestra información sobre los resultados de la búsqueda mientras que "mostrar(2)" muestra directamente los resultados. Parece que si se carga inicialmente la página donde están los checkbox, la cosa rula perfectamente mientras que si se carga secundariamente a través de ajax pues no.
Si alguien sabe por que coimas IE es tan imbecil que me lo haga saber

Gracias de todos modos
__________________
pwmcorg
  #4 (permalink)  
Antiguo 25/01/2007, 07:54
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: ajax e internet explorer

loading..........

algo que podrias hacer es coger lo datos a travez del evento

Código PHP:
function chekando(event) {
var 
checkbox=(window.event && window.event.srcElement)?window.event.srcElement:event.target;

//value=checkbox.value;

if(checkbox.checked) {
window.alert('activamdp valor '+checkbox.name);

y en tu respuesta ajax

Código PHP:
value="1\" id=\"$i\"  onclick=\"chekando(event);\">"
no te preocupes por el parametro event se crea en el momeno del click.


connection closed.
__________________

Maborak Technologies
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:44.