Foros del Web » Programando para Internet » Javascript »

innerHTML no funciona en ie alguna alternativa para solucionarlo

Estas en el tema de innerHTML no funciona en ie alguna alternativa para solucionarlo en el foro de Javascript en Foros del Web. Hola, llevo dias con este tema y no consigo solucionarlo, trata de llenar un select dependiente con ajax, la verdad que en firefox funciona pero ...
  #1 (permalink)  
Antiguo 14/01/2012, 10:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 13 años, 7 meses
Puntos: 1
innerHTML no funciona en ie alguna alternativa para solucionarlo

Hola, llevo dias con este tema y no consigo solucionarlo, trata de llenar un select dependiente con ajax, la verdad que en firefox funciona pero en ie no, muestro codigo por si alguien me da la solucion:

funcion js

Código Javascript:
Ver original
  1. function recuperar(id,ide,url){
  2.         var ajax = ajax();
  3.             var vinculo=url+"?id="+id;
  4.            ajax.open("GET",vinculo,true);
  5.            ajax.onreadystatechange=function(){
  6.                    if (ajax.readyState==4){
  7.                            if (ajax.status==200){
  8.                                    var http=ajax.responseText;
  9.                                    document.getElementById(ide).innerHTML= http;
  10.                          }
  11.                    }
  12.            }
  13.            ajax.send(null);
  14.      
  15.     }
  16. var miFuncion = function(e){
  17. var interesante = e.nextElementSibling || e.nextSibling.nextSibling;
  18. return interesante.id;
  19. }

los select

Código PHP:
Ver original
  1. <form name="form" method="get">
  2.     <select name="paises" id="paises" onchange="recuperar(this.form.paises.value, miFuncion(this),'ciudades.php')">
  3.     <?php
  4.     while ($reg=mysql_fetch_array($res)){
  5.     ?>
  6.     <option value="<?php echo $reg['id_paises'];?>"/><?php echo $reg['paises'];?></option>
  7.     <?php
  8.     }
  9.     ?>
  10.     </select>
  11.     <select name='ciudades' id='ciudades'>
  12.   <option value=''o>selecione ciudad</option>
  13.     </select>
  14.     </form>

aqui el codigo que llamo con ajax

ciudades.php

Código PHP:
Ver original
  1. <?php
  2.     require_once("conexion.php");
  3.     $sql_ciudades="select * from ciudades where id_paises=".$_GET["id"]."";
  4.     $res=mysql_query($sql_ciudades);
  5.  
  6.     while ($reg=mysql_fetch_array($res)){
  7.     ?>
  8.     <option value="<?php echo $reg["id_ciudades"];?>"><?php echo$reg["ciudades"];?></option>
  9.     <?php
  10.     }
  11.     ?>

espero que intenten ajudarme, saludos
  #2 (permalink)  
Antiguo 14/01/2012, 16:26
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: innerHTML no funciona en ie alguna alternativa para solucionarlo

de hecho el primero en implementar innerHTML fue IE, lo que no te funciona es que tratas de modificar el contenido del select, debes de generarlo por completo, es decir, que desde PHP devuelvas <select> (tus options) </select> y para ello necesitas un div que anide dicho select, que es al que le aplicas el innerHTML
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 14/01/2012, 17:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: innerHTML no funciona en ie alguna alternativa para solucionarlo

Hola maycolalvarez gracias por tu colaboracion me has resuelto el problema, un saludo.

Etiquetas: ajax, alguna, funcion, html, innerhtml, js, php
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 14:04.