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

Problema al querer cargar una pagina desde un div

Estas en el tema de Problema al querer cargar una pagina desde un div en el foro de Frameworks JS en Foros del Web. Bueno, espero ser lo mas claro posible. Tengo una pagina Index en la cual tengo 3 divs, uno de ellos lo uso para montar un ...
  #1 (permalink)  
Antiguo 03/02/2009, 17:13
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 1
Problema al querer cargar una pagina desde un div

Bueno, espero ser lo mas claro posible.


Tengo una pagina Index en la cual tengo 3 divs, uno de ellos lo uso para montar un menu desplegable, en el cual al darle clic a una de las opciones me carga la pagina correspondiente a la opcion en un div que llamo contenidos.
aca publico el codigo de mi index.

Código:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%-- 
    Document   : ModuloUsuario
    Created on : 26/11/2008, 10:00:26 AM
    Author     : Wilson Esteban Velez Morales
--%>


<!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"lang="es" xml:lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Modulo Usuario</title>
<link href="css/mis_estilos.css" rel="stylesheet" type="text/css">
<link href="css/eyp.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/javascript" src="js/codigo.js"></script>
<script language="JavaScript" type="text/javascript" src="js/menu.js"></script>
<script language="JavaScript" type="text/javascript" src="js/interno.js"></script>


</head>

<body bgcolor="#EEFAFF">

<div id="contenedor" > 
  <div id="cabecera" align="center"> 
    <table width="87%" height="16%" border="0" align="center">
      <tr> 
        <td height="89"> <div align="right"><img src="logo.png" alt="" name="logo" width="38%" height="86%" border="0" align="texttop" id="logo" /></div></td>
      </tr>
    </table>
  </div>
  <div id="menu" aling="center"> 
    <table width=100% height="593" border=0 cellpadding=0 cellspacing=0 dwcopytype="CopyTableRow">
     

 <tr> 
        <td height="26" align=left valign=top> <div id=Board 
                              onmouseover="MM_showHideLayers('Board','','show')" 
                              style="Z-INDEX: 4; LEFT: 124px; VISIBILITY: hidden; WIDTH: 148px; POSITION: absolute; height: 108px; top: 85%;" 
                              onmouseout="MM_showHideLayers('Board','','hide')"> 
            <table cellspacing=0 cellpadding=1 width="100%" 
                              bgcolor=#666666 border=0>
              <tbody>
                <tr> 
                  <td> <table cellspacing=0 cellpadding=0 width="100%" 
                                bgcolor=#ffffff border=0>
                      <tbody>
                        <tr> 
                          <td align=middle width="15%"><font size="-1"><img height=25 
                                alt="" 
                                src="../Imagenes/Ima-Configuracion/Config.png" 
                                width=25 /></font></td>
                          <td width="85%"><font size="-1"><a 
                                href="javascript:llamarasincrono('ConsultarBoard.jsp', 'contenidos');">Consultar 
                            Board</a></font></td>
                        </tr>
                        <tr> 
                          <td align=middle width="15%"><font size="-1"><img height=25 
                                alt="" 
                                src="../Imagenes/Ima-Configuracion/Config.png" 
                                width=25 /></font></td>
                          <td width="85%"><font size="-1"><a 
                                href="javascript:llamarasincrono('CrearBoard.jsp', 'contenidos');">Crear 
                            Board</a></font></td>
                        </tr>
                        <tr> 
                          <td align=middle width="15%"><font size="-1"><img height=25 
                                alt="" 
                                src="../Imagenes/Ima-Configuracion/Config.png" 
                                width=25 /></font></td>
                          <td width="85%"><font size="-1"><a 
                                href="javascript:llamarasincrono('ModificarBoard.jsp', 'contenidos');">Modificar 
                            Board</a></font></td>
                        </tr>
                        <tr> 
                          <td align=middle width="15%"><font size="-1"><img height=25 
                                alt="" 
                                src="../Imagenes/Ima-Configuracion/Config.png" 
                                width=25 /></font></td>
                          <td width="85%"><font size="-1"><a 
                                href="javascript:llamarasincrono('BajaBoard.jsp', 'contenidos');">Dar 
                            de Baja Board</a></font></td>
                        </tr>
                      </tbody>
                    </table></td>
                </tr>
              </tbody>
            </table>
          </div>
          <font size="-1"><img 
                              id=Image6 
                              onmouseover="MM_swapImage('Image6','','../Imagenes/Ima-Configuracion/Reg_Conf-on.png',1);MM_showHideLayers('Board','','show')" 
                              onmouseout="MM_swapImgRestore();MM_showHideLayers('Board','','hide')" 
                              height=100% alt="Registrar Board" 
                              src="../Imagenes/Ima-Configuracion/Reg_Conf.png" 
                              width=89% border=0 name=Image51 /></font></td>
      </tr>
      <!--DWLayoutTable-->
      <tbody>
      </tbody>
    </table>
  </div>
  <div  id="contenidos"></div>
</div>
<div id="pie"> 
  <table width="100%" border="0">
    <tr> 
      <td width="56%" align="left">CENTROAGUAS S.A. E.S.P. CALIDAD DE AGUA CALIDAD 
        DE VIDA</td>
      <td width="44%"><div ></div></td>
    </tr>
  </table>
</div>

</body>
</html>
Bueno aca publico solo una parte de mi codigo ya que en mi menu tengo mas de 20 opciones y unas 4 opciones se desplegan de cada una de ellas asi que es algo largo.

como pueden notar en mi codigo uso el js llamarasincrono para cargar las paginas en el div contenidos (el archivo al que llamo es a codigo) aca publico el codigo

Código:
function llamarasincrono(url, id_contenedor){
var pagina_requerida = false
if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest()
} else if (window.ActiveXObject){ // pero si es IE
try {
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){ // en caso que sea una versi�n antigua
try{
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
pagina_requerida.onreadystatechange=function(){ // funci�n de respuesta
cargarpagina(pagina_requerida, id_contenedor)
}
pagina_requerida.open('GET', url, true) // asignamos los m�todos open y send
pagina_requerida.send(null)
}
// todo es correcto y ha llegado el momento de poner la informaci�n requerida
// en su sitio en la pagina xhtml
function cargarpagina(pagina_requerida, id_contenedor){
if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}
ahora bien dentro del div contenidos se puede cargar la pagina ModificarBoard.jsp
Y al enviar el formulario, o al querer usar una de las opciones. como es traer los datos de la Board desde la base de datos y que me cargue los datos de nuevo en el div lo hago por medio de una variacion del llamarasincrono que lo tengo en el archivo Interno.

aca publico el codigo
  #2 (permalink)  
Antiguo 03/02/2009, 17:25
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema al querer cargar una pagina desde un div

Código:
// Documento JavaScript
// Esta funci�n cargar� las paginas
function llamarasincronoInterno(url,id_contenedor,formulario){
    
    
var pagina_requerida = false
if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest()
} else if (window.ActiveXObject){ // pero si es IE
try {
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){ // en caso que sea una versi�n antigua
try{
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
pagina_requerida.onreadystatechange=function(){ // funci�n de respuesta
cargarpagina(pagina_requerida, id_contenedor)
}
var datos='?'+document.getElementById(formulario).elements[0].name+'='+document.getElementById(formulario).elements[0].value;

    for(var i = 1; i < document.getElementById(formulario).elements.length; i++) {


datos = datos+'&'+document.getElementById(formulario).elements[i].name

datos = datos+'='+document.getElementById(formulario).elements[i].value
    }

pagina_requerida.open('GET',url+datos,true) // asignamos los m�todos open y send
pagina_requerida.send(null)
}
// todo es correcto y ha llegado el momento de poner la informaci�n requerida
// en su sitio en la pagina xhtml
function cargarpagina(pagina_requerida, id_contenedor){

if (pagina_requerida.readyState==1){
document.getElementById(id_contenedor).innerHTML = "<img aling='center' src='js/ajax-loader1.gif' border='0'>"
}    
if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}
  #3 (permalink)  
Antiguo 03/02/2009, 17:27
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema al querer cargar una pagina desde un div

con este llamarasincrono logro cargar una pagina desde una una pagina que ya se encuentra cargado en el div
aca pego el codigo de ModificarBoard.jsp
Código:
<%@ page contentType="text/html; charset=ISO-8859-1" language="java" import="java.sql.*" errorPage="" %>
<%@page pageEncoding="UTF-8"%>
<%-- 
    Document   : ModificarBoard
       Author     : Wilson Esteban Velez Morales
--%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id = "mensaje" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "mensaje2" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "datosU" class = "java.util.Vector" scope="request"/>
<jsp:useBean id = "auxiliar" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "variable0" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "variable" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "variable1" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "variable2" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "variable3" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "variable4" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "variable5" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "codigo" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "marcaN" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "marca" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "capacidad" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "serial" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "modelo" class = "java.lang.String" scope="request"/>
<jsp:useBean id = "estado" class = "java.lang.String" scope="request"/>

<script language="JavaScript" type="text/javascript" src="js/interno.js"></script>

<html>
    <head>
        <title>SITC - MODIFICAR BOARD</title>
        
        
    </head>
    
    <body>
        
<table width="43%" height="59%" border="0" align="center" bordercolor="#CCCCCC">
  <tr bgcolor="#336699"> 
    <td height="26"> 
      <div align="center"><font color="#FFFFFF" face="Geneva, Arial, Helvetica, sans-serif"><em><strong>MODIFICAR 
        BOARD</strong></em></font></div></td>
  </tr><%  
            if (datosU.size() > 1) {
                if (datosU.get(0).toString().equals("true")) {
                    
                    System.out.println("hasta aca todo bien");
                    variable0 = datosU.get(1).toString();
                    variable = datosU.get(2).toString();
                    variable1 = datosU.get(3).toString();
                    variable2 = datosU.get(4).toString();
                    variable3 = datosU.get(5).toString();
                    variable4 = datosU.get(6).toString();
                    System.out.println("salio todo bien");
                    System.out.println("Si ingresa al true");
                    auxiliar = "true";
					datosU.clear();


                    System.out.println("Si ingresa ");
                }
            }
                        %>
  <tr> 
    <td height="212" valign="top" bgcolor="#F4F4F4" > 
      <p> 
        
      </p>
      <table width="90%" height="183" border="0" align="center" bordercolor="#0099FF">
        <tr> <form name="ModificarParlante" method="POST" id ="form1" action="javascript:llamarasincronoInterno('ControladorServlet','contenidos','form1')">
            <td width="93%" height="179" align="center" valign="top"> 
              <table width="100%" height="31%"  border="0" align="center" >
                <tr> 
                  <td height="26" align="left"> <p align="right"><font color="#000066" size="-1">CODIGO</font></p></td>
                  <td height="26" align="left"> <div align="left"><font color="#000000"> 
                      <input name="codigo" type="text" id="codigo" size="50" disabled="disabled" onBlur="this.value = this.value.toUpperCase()" value="<%= (auxiliar != null) ? (codigo = variable0) : ""%>" <%= (auxiliar == null) ? "" : "disabled"%>>
                      </font></div></td>
                </tr>
                <tr> 
                  <td width="35%" height="26" align="left"> <div align="right"><font color="#000066" size="-1">MARCA</font></div></td>
                  <td width="65%" height="26" align="left"> <div align="left"> 
                      <font color="#000000"> 
                      <input name="marcaN" size="50" type="text" id="marcaN3" disabled="disabled" onBlur="this.value = this.value.toUpperCase()" value="<%= (auxiliar != null) ? (marcaN = variable1) : ""%>"  <%= (auxiliar == null) ? "" : "disabled"%>>
                      </font> <font color="#000000"> </font></div></td>
                  <%System.out.println("Si ingresa3 ");%>
                </tr>
                <tr> 
                  <td height="26" align="left"> <div align="right"><font color="#000066" size="-1">MODELO</font></div></td>
                  <td height="26" align="left"> <div align="left"> <font color="#000000"> 
                      <input name="modelo" size="50" type="text" id="modelo" onBlur="this.value = this.value.toUpperCase()" value="<%= (auxiliar != null) ? (modelo = variable2)   : ""%>" >
                      </font></div></td>
                </tr>
                <tr> 
                  <td height="26" align="left"> <div align="right"><font color="#000066" size="-1">SERIAL</font></div></td>
                  <td height="26" align="left"> <div align="left"> <font color="#000000"> 
                      <input name="serial" size="50" type="text" id="serial" onBlur="this.value = this.value.toUpperCase()" value="<%= (auxiliar != null) ? (serial = variable3)   : ""%>" >
                      </font></div></td>
                </tr>
                <tr> 
                  <td height="26" align="left"> <div align="right"><font color="#000066" size="-1">ESTADO</font></div></td>
                  <td height="26" align="left"> <div align="left"> <font color="#000000"> 
                      <select name="estado" id="estado">
                        <option value="<%=  variable4%>"><%= (estado = variable4) %></option>
                        <option value="EN BUEN ESTADO">EN BUEN ESTADO</option>
                        <option value="EN MANTENIMIENTO">EN MANTENIMIENTO</option>
                        <option value="DAÑADO">DAÑADO</option>
                      </select>
                      </font></div></td>
                </tr>
                <input name="marca" type="hidden" value="<%= (marca = variable)%>">
              </table>
              
              <p align="center"> 
                
                <input type="submit" name="Submit" value="INGRESAR" >
               
              </p>
            </td> <input type="hidden" name="action" value="ValidarBO">
                <input type="hidden" name="pagina" value="ModificarBoard">
                <input type="hidden" name="codigo" value="<%= codigo%>">
                <input type="hidden" name="marcaN" value="<%= marcaN%>">
				<input type= "hidden" name="objeto" value="Board"></form>
          <td width="7%" valign="top"> <table width="74%" border="0" cellpadding="1">
              <tr> 
                <form name="DatosTeclado"  method="POST" id ="form2" action="javascript:llamarasincronoInterno('ControladorServlet','contenidos','form2')">
                  <td height="26" align="left" valign="top"> <p> 
                      <input type="submit" name="Submit2" value=" ... " >
                    </p></td>
                  <input type="hidden" name="action" value="DatosBoard">
                  <input type="hidden" name="pagina" value="ModificarBoard">
                  <input type= "hidden" name="objeto" value="Board">
                </form>
              </tr>
              <tr> 
                <form name="form3" method="post" id ="form3" action="javascript:llamarasincronoInterno('ControladorServlet','contenidos','form3')">
                  <td height="26" align="left" valign="top"> <input type="submit" name="Submit3" value=" ... "> 
                  </td>
                  <input type="hidden" name="pagina" value="ModificarBoard">
                  <input type="hidden" name="action" value="DatosMarca">
                  <input type="hidden" name="tabla" value="MARCA_BOARD">
                  <input type="hidden" name="codigo" value="<%= codigo%>">
                  <input type="hidden" name="marcaN" value="<%= marcaN%>">
                  <input type="hidden" name="marca" value="<%= marca%>">
                  <input type="hidden" name="modelo" value="<%=  modelo%>">
                  <input type="hidden" name="serial" value="<%=serial%>">
                  <input type="hidden" name="estado" value="<%=estado%>">
                  <input type= "hidden" name="objeto" value="Board">
                </form>
              </tr>
            </table>
            <p>&nbsp;</p></td>
        </tr>
      </table>
      <div align="center"><font color="#ff0000" size="3"> 
        <% if (mensaje2.equals("Aviso")) {%>
        Mensaje:&nbsp;</font><font color="#ff0000" size="3"><%= (mensaje != null) ? mensaje : ""%></font> 
        <% } else {}%>
        
      </div>
      </td>
  </tr>
</table>
    </body>
</html>
  #4 (permalink)  
Antiguo 03/02/2009, 17:28
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema al querer cargar una pagina desde un div

El error que me genera es al cargar los datos de una Board en la pagina dentro del DIV, envio el formulario y efectivamente lo hace de la forma correcta, pero cuando quiero volver a cargar los datos de la board para realizar otra modificacion me di cuenta que no me estaba entrando dentro del javascript sino que simplemente me cargaba los datos que me habia traido la primera vez.
Trabajo en IE6 con Netbeans 6.1.
Espero que Comprendan mi Problema.
Gracias por la ayuda.
  #5 (permalink)  
Antiguo 09/02/2009, 08:30
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema al querer cargar una pagina desde un div

He probado con firefox y si realiza me entra en el javascript de forma correcta y hace el llamado cada vez que se solicita y hast ahi muy bien porque parece solucionado el problema, asi sea solo para firefox, el problema es que la pagina que se carga en el div no me muestra el formulario, es decir se carga la pagina pero no me muestra su contenido como soluciono esto, uso mozilla firefox 3.0.6

Gracias
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 18:46.