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

innerHTML borra el contenido de otros divs

Estas en el tema de innerHTML borra el contenido de otros divs en el foro de Frameworks JS en Foros del Web. Hola a todos es pero y me podais a yudar con mi problemita por que mi innerHTML se aplica a todo mi formulario y no ...
  #1 (permalink)  
Antiguo 21/06/2012, 19:06
 
Fecha de Ingreso: junio-2012
Mensajes: 5
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta innerHTML borra el contenido de otros divs

Hola a todos es pero y me podais a yudar con mi problemita

por que mi innerHTML se aplica a todo mi formulario y no solo al div que le asigne


resulta que estoy leyendo condigo xml en javascript y el problema biene cuando intento asignar los datos recividos en mi div con la id="display" con el siguiente codigo

funcion leer evento preskey
Código Javascript:
Ver original
  1. /*esperando a que el documento este cargado para poder acceder al evento
  2. *pres key para realizar la busqueda
  3. */
  4. $(document).ready(function(){
  5.     $(".busca").keyup(function() //se crea la funcioin keyup
  6.     {  
  7.         var texto = $(this).val();  //lee contenido de  
  8.         buscar(texto);   //llamo a la funcion para crear la url
  9.     });
  10. });

funcion para crear URL
Código Javascript:
Ver original
  1. var xmlhttp;
  2. var xmlDoc;
  3. function buscar(txt)
  4. {  
  5.     var url="search.php?palabra="+txt; //asigno el valor a mi url
  6.     envia(url,1);   //llamo al funcion para enviar datos
  7. }


funcion para ENVIAR datos a PHP
Código Javascript:
Ver original
  1. function envia(url,x)
  2. {
  3.     // exploradores sportados IE7+, Firefox, Chrome, Opera, Safari
  4.     if(window.XMLHttpRequest)
  5.          { xmlhttp=new XMLHttpRequest();    }
  6.     else
  7.          { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
  8.     xmlhttp.open("GET",url,false); //envia los datos
  9.     xmlhttp.send(null);
  10.     switch (x)
  11.          { 
  12.          case 1:    recive();   break; //llama a la funcion para recivir los datos
  13.          default:     alert("default");     break;
  14.          } 
  15. }


funcion que RECIVE el XML desde el PHP
Código Javascript:
Ver original
  1. function recive()
  2. {
  3.     xmlDoc=xmlhttp.responseXML;
  4.     var x=xmlDoc.getElementsByTagName("padre");
  5.     var y=xmlDoc.getElementsByTagName("hijo");
  6.     var a=document.getElementById("display");
  7.     for(j=0;j<x.length;j++)
  8.     {
  9.         for(i=0;i<y.length;i++)
  10.         {
  11.             a.innerHTML=document.write(x[j].getElementsByTagName("age")[i].childNodes[0].nodeValue);               
  12.         }
  13.     }  
  14. }

Código Javascript:
Ver original
  1. jQuery(function($){//funcion jquery que muestra el mensaje "Buscar amigos..." en la caja de texto
  2.    $("#caja_busqueda").Watermark("Buscar amigos...");
  3.    });


todo esto funciona correctamente pero al insertar los datos desde el innerHTML en el DIV me borra los divs anterores a el

mi index.html es el siguiente
Código HTML:
<html>
<head>
<link href="css.css" rel="stylesheet" >
<script language="JavaScript" src="jquery-1.5.1.min.js"></script>
<script language="JavaScript" src="jquery.watermarkinput.js"></script>
<script language="javascript" src="js.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Documento sin título</title>
</head>
<body>
<form action="usuario_completo.php" method="get">

 <div style=" width:100%; padding-left:3px; padding-right:3px; " id="txt">
  <input type="text" class="busca" id="caja_busqueda" name="clave" /><br />
</div> 

<div id="display"><!--aqui deveria de mostrarme el resultado de la busqueda--></div>

</form><p>
</body>
</html> 

pero lo unico que me muestra es el resultado eliminando mi campo texto dentro del div con la id="caja_busqueda"
  #2 (permalink)  
Antiguo 22/06/2012, 09:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: innerHTML borra el contenido de otros divs

tiene MUCHAS inconsistencias en el código:

1 - usa innerHTML pero aplica document.write sin la debida apertura del flujo HTML, lo que reemplaza TODO el lienzo HTML, si usa innerHTML no hace falta usar las funciones de control de flujo, es decir document.write

2 - usa FW jQuery y hace Peticiones AJAX manuales, no tiene sentido teniendo en cuenta el fabuloso wrapper de AJAX que tiene jQuery ¿para que reinventar la rueda?

3 - hace uso de peticiones ajax sincronas, jQuery también lo permite, aunque en dicho caso puede que el navegador no responda mientas no termine la conexión, en tal caso debe usar asincrono

4 - consulte las políticas del foro
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Última edición por maycolalvarez; 22/06/2012 a las 13:41 Razón: ortografía
  #3 (permalink)  
Antiguo 22/06/2012, 10:51
 
Fecha de Ingreso: junio-2012
Mensajes: 5
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: innerHTML borra el contenido de otros divs

maycolalvareze me lo has aclarado vastante

es que apenas hase sinco dias empece con esto de javascript y estoy casi en blanco en el tema pero

solo falta aprender

gracias
  #4 (permalink)  
Antiguo 22/06/2012, 11:52
 
Fecha de Ingreso: junio-2012
Mensajes: 5
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: innerHTML borra el contenido de otros divs

segui tu consejo muchas gracias

lo realise todo con jquery y todo funciona perfectamente

de antemano gracias

Etiquetas: ajax, html, html+javascript, innerhtml, javascript, jquery
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 02:53.