Foros del Web » Programación para mayores de 30 ;) » Java »

Problema de parámetros para un servlet en un iFrame

Estas en el tema de Problema de parámetros para un servlet en un iFrame en el foro de Java en Foros del Web. Que tal, me encuentro con un problemilla, necesito que en un iframe me cargue una imagen de una base de datos ( uso iFrame por ...
  #1 (permalink)  
Antiguo 16/07/2011, 09:42
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 6 meses
Puntos: 3
Pregunta Problema de parámetros para un servlet en un iFrame

Que tal, me encuentro con un problemilla, necesito que en un iframe me cargue una imagen de una base de datos ( uso iFrame por que el resto de mi formulario, todo lo trabajo con Ajax de Jquery y no quiero que mi página principal haga submit). El caso es que cuando le indico que haga submit el formulario del iFrame, no me cacha un parametro y no me puede cargar la imagen, lo que hago es esto:

En la página principal...

Cuando ya cargo toda la info del usuario, mando a llamar esta función:
Código PHP:
function cargarCroquis(idElemento){
        
parent.frames['localscene'].document.forms['formCroquis'].idElemento.value idElemento;
        
parent.frames['localscene'].cargaCroquis(idElemento); /* CROQUIS */

En la que al iFrame le asigno un ID a un campo de hidden y despues ejecuto una función que esta en el formulario del frame:

Código PHP:
function cargaCroquis(idElemento){
                
document.getElementById('idElemento').value idElemento;
                
alert('El id para cargar : ' idElemento);
                
document.forms['formCroquis'].submit();
            } 
Cuando se ejecuta esa función, el alert si me muestra el ID que mandé, despues hace el submit pero ya no me atrapa el valor del ID..

Este es el form de mi iFrame:

Código PHP:
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" session="true"%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"
>

<%
String context request.getContextPath();
int idElemento = (request.getParameter("idElemento") == null || request.getParameter("idElemento").equals("null") || request.getParameter("idElemento").equals(""))?0:Integer.parseInt(request.getParameter("idElemento"));
String mensaje = (request.getParameter("mensaje") == null)?"":request.getParameter("mensaje");
System.out.println("_________ " idElemento);
//System.out.println("Request : " + request);
%>

<
html>
    <
head>
        <
meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

        <
script type="text/javascript" language="JavaScript">

            var 
auxContext2 '<%=context%>';

            function 
validaCampos(idElemento){
                
//alert('Ide para guardar : ' + idElemento);
                
document.getElementById('idElemento').value idElemento;
                
document.forms['formCroquis'].action "<%=context%>/ServletGuardaCroquis";
                
document.forms['formCroquis'].submit();
            }

            function 
validacion(path){
                
window.parent.document.getElementById("auxCroquis").value path;
                
//alert(window.parent.document.getElementById("auxCroquis").value);
            
}

            function 
cargaCroquis(idElemento){
                
document.getElementById('idElemento').value idElemento;
                
alert('El id para cargar : ' idElemento);
                
document.forms['formCroquis'].submit();
            }

        
</script>

        <title>JSP Page</title>
    </head>
    <body>
        <form name="formCroquis" method="post" action="" enctype="multipart/form-data">

            <input type="text" id="idElemento" name="idElemento" value="<%=idElemento%>"/>

            <table width="898" border="0">
                <tr>
                  <td colspan="3" width="106" class="">
                      <input onchange="validacion(this.value);" value="" class="" type=file size=60 name="croquis" id="croquis" accept="image/gif, image/jpeg, image/jpg, image/png"></td>
                </tr>
                <tr>
                  <td colspan="5" width="106">
                      <%if(idElemento!=0){%>
                        <img src="<%=context%>/ServletConsultaCroquis?idElemento=<%=idElemento%>" alt=""
                           width="224" height="312" name="Imagen" style="position:inherit; width: 550px; top: 125px; height: 400px;">
                      <%}else{%>
                        <img src="<%=context%>/images/sinCroquis.jpg" alt=""
                           width="224" height="312" name="Imagen" style="position:inherit; width: 150px; top: 125px; height: 100px;">
                      <%}%>
                  </td>
                </tr>
            </table>
        </form>
    </body>
</html> 
Como ven, uso el getParameter para obtener el valor del campo idElemento del formulario del iframe, pero no lo hace, alguien tiene alguna sugerencia? El servlet que necesito se ejecute es el que esta en el src de la imagen, espero puedan darme una luz, gracias de ante mano!!
__________________
Wow! No se que decir...

Última edición por zyon; 16/07/2011 a las 09:44 Razón: me equivoqué en el título
  #2 (permalink)  
Antiguo 16/07/2011, 10:19
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 6 meses
Puntos: 3
De acuerdo Respuesta: Problema de parámetros para un servlet en un iFrame

Haa pues que creen! ya lo resolví, en la función cargaCroquis() del formulario del iFrame en lugar de poner:

Código PHP:
function cargaCroquis(idElemento){ 
                
document.getElementById('idElemento').value idElemento
                
alert('El id para cargar : ' idElemento); 
                
document.forms['formCroquis'].submit(); 
            } 
la modifiqué y puse:

Código PHP:
function cargaCroquis(idElemento){
                
document.getElementById('idElemento').value idElemento;
                
document.forms['formCroquis'].action "<%=context%>/jsp/dependencias/JspCroquisElemento.jsp?idElemento="+idElemento;
                
document.forms['formCroquis'].submit();
            } 
Así hago que se vuelva a llamar así misma en el action del formulario pero ya con el parámetro que requiero y me funciona muy bien!

Por fin, puede hacer mi formulairo manipulado con Ajax por completo y además cargar imágenes a la base de datos de mi proyecto. Disculpen las molestias, he estado subiendo varios temas y termino respondiendome, pero esta bien!

Si alguien tienen otra sugerencia de como hacer lo que puse aquí, coménntela de favor!

Gracias!
__________________
Wow! No se que decir...

Etiquetas: iframe, jsp-servlets, servlet, string, https
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 01:52.