Así es defino los divs donde se debe cargar el nuevo contenido:
Código:
div id='ajaxDiv'></div>
| |||
Depurar código en divs Como se puede depurar el código que aparece en los divs donde a través de ajax es donde se carga el contenido de la página pues a veces estoy trabajando así pero no puedo ver nada Así es defino los divs donde se debe cargar el nuevo contenido:
Código:
div id='ajaxDiv'></div> |
| ||||
Respuesta: Depurar código en divs Si tu haces click derecho en tu pagina en el menu contextual sale Inspect Element ahi se abrira el firebug y podras ver el DOM.. es bien intuitivo, de hecho no se de algun manual para esto, yo lo descubri solo.. Saludos |
| |||
Respuesta: Depurar código en divs Este es el código en donde quiero ver que me aparece dentro del div..
Código:
Este es el archivo ajax<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> <script language="javascript" type="text/javascript" src="ajax.js"></script> </head> <body> <? if(!isset($_GET['entidad']) ) { $fE='todo'; } else $fE=$_GET['entidad']; ?> <table align="center"> <form> <tr> <td>Seleccionar entidad</td> <td><select id="entidad" name="entidad" size="1" onchange="ajaxFunction()"> <option value="todo"<? if ($fE=="todo") echo "selected=\"selected\""; ?>> Toda</option> <option value="01" <? if ($fE=="01") echo "selected=\"selected\""; ?> <option value="31" <? if ($fE=="31") echo "selected=\"selected\""; ?> >Y</option> <option value="32" <? if ($fE=="32") echo "selected=\"selected\""; ?>>Z</option> </select> </td> <td>Filtrar Programa</td> <td><select id="programa" name="programa" size="1"> <option value="0">Todo</option> <option value="1">CONAFE</option> <option value="2">MEE</option> <option value="3">INIFED</option> </select> </td> </tr> <tr><td></td> <td> yo quiero ver lo que se genera aquí al ver el código fuente , pero no me aparece <div id='ajaxDiv'></div> </td> </tr> <tr><td><input type="submit" /></td></tr> </form> </table> </body> </html>
Código:
Y este el archivo genMun// JavaScript Document function ajaxFunction(){ var ajaxRequest; // magic variable try{ // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ // Something went wrong alert("Your browser broke!"); return false; } } } // Receive Data Function ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ var ajaxDisplay = document.getElementById('ajaxDiv'); ajaxDisplay.innerHTML = ajaxRequest.responseText; } } var make = document.getElementById('entidad').value; var queryString = "?entidad=" + make; ajaxRequest.open("GET", "genMun.php" + queryString, true); ajaxRequest.send(null); } Código PHP: Otra cosa que vi es que si mando el formulario me aparecen todas las variables de mi formulario menos la de municipio que es la que se carga al seleccioanr un estado. Esto funciona correctamente en ie7 pero en firefox no me pone el valor de municipio. Se puede hacer algo?? |
| ||||
Respuesta: Depurar código en divs No termino de entender que es lo que querés lograr, pero... Si vos estás queriendo actualizar un DIV usando AJAX, entonces primero corregí el HTML que trae el AJAX ya que el mismo tiene cabeceras DOC-TYPE y demás, osea, basicamente es un HTML completo, mientras que siendo que ese código lo querés insertar en un DIV en una estructura de documento ya existente, no debería contener nada de ese tipo, solo "los contenidos propiamente dichos". Además, ya que vos estás recibiendo HTML válido, si lo asignás a la propiedad innerHTML de cualquier elemento contenedor, lo que va a suceder es que va a meterle adentro el HTML crudo y luego lo va a evaluar y presentar el HTML resultante, no el texto del código fuente de ese HTML. Para mostrar el texto primero tendrías que escapar todos los símbolos de apertura y cerrado de tags (< >) y con eso ya debería alcanzar. Ahora bien, si no es una cuestión de aplicación sino que simplemente querés presentar el resultado del AJAX en ese DIV por una cuestión de práctica, debug, etc etc etc, entonces lo mejor que podés hacer es instalarte la extensión FireBug para FireFox. Fijate primero que esté activada para el dominio actual y vas a ver que por cada AJAX que haces te incluye la llamada en la consola. Cada llamada puede desplegarse para mostrar más info en 3 tabs, cabecera, envío y recepción, donde, SIEMPRE, estará el texto crudo que se recibe de dicha llamada.
__________________ Just because I rock doesn't mean I'm stone |