Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2011, 09:42
zyon
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 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