Bueno, soy nuevo en este foro, tengo una consulta, de que forma paso parametros desde un JSP a una funcion en JavaScript?
Tengo el siguiente codigo:
Código Javascript
:
Ver original<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<head>
<script type="text/javascript">
function activar(num)
{
document.forms[0].password.disabled = num;
document.forms[0].password2.disabled = num;
document.forms[0].nroDocumento.disabled = !num;
document.forms[0].btnValidarNroDocumento.disabled = !num;
document.forms[0].btnEnviar.disabled = num;
js_nro_doc = "test"
document.forms[0].elements["nroDocumento"].value = js_nro_doc;
js_nombre = "<%=request.getParameter("sessionNombre")%>";
document.forms[0].elements["nombreCliente"].value = js_nombre;
js_apellido = "<%=request.getSession().getAttribute("sessionApellido")%>";
document.forms[0].elements["apellidoCliente"].value = js_apellido;
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<style type="text/css">
<!--
.Estilo1 { font-size: 24px;
font-weight: bold;
}
body {
background-image: url(./images/wave3header.jpg);
background-repeat: no-repeat;
}
.Estilo9 {color: #FFFFFF}
.Estilo10 {color: #FFFFFF; font-weight: bold; }
.Estilo11 {
color: #FFFFFF;
font-size: 24px;
font-weight: bold;
font-style: italic;
}
-->
</style>
</head>
<body>
<p> </p>
<p> </p>
<p> </p>
<table width="704" border="1" align="center">
<tr>
<td width="694" height="519" background="./images/fondoUser.jpg"><div align="center">
<p class="Estilo1"> </p>
<p class="Estilo11">ALTA DE UN CLIENTE WEB </p>
<br />
<br />
<span class="Estilo9"><br />
</span>
<form action="AltaClienteWeb.jsp" method="post">
<p class="Estilo10">Numero de documento :
<input type="text" name="nroDocumento" />
<input type=submit name="btnValidarNroDocumento" value="..." />
</p>
<p class="Estilo10">Nombre:
<input type="text" name="nombreCliente" disabled="disabled" />
</p>
<p class="Estilo10">Apellido:
<input type="text" name="apellidoCliente" disabled="disabled" />
<br />
<br />
Contraseña:
<input type="password" name="password" disabled="disabled" />
<br />
<br />
Confirma contraseña:
<input type="password2" name="password2" disabled="disabled" />
<br />
<br />
<br />
<br />
<input name="btnEnviar" type="submit" value="Enviar" disabled="disabled"/>
<input name="reset" type="reset" value="Borrar" />
</p>
<p class="Estilo10"> </p>
</form>
</div></td>
</tr>
</table>
<jsp:useBean id="boCliente" scope="page" class="Negocio.BOCliente" ></jsp:useBean>
<jsp:useBean id="clienteAux" scope="page" class="Entidades.Cliente" ></jsp:useBean>
<%
//Codigo en JAVA...
out.print(request.getParameter("btnValidarNroDocumento"));
if (request.getParameter("btnValidarNroDocumento")!=null)
{
int nroDoc = Integer.parseInt(request.getParameter("nroDocumento"));
clienteAux = boCliente.verificarCliente(nroDoc);
if (clienteAux!=null)
{
out.print(session.getId());
request.getSession(true).setAttribute("sessionNDoc", clienteAux.getNroDoc());
request.getSession(true).setAttribute("sessionNombre", clienteAux.getNombre());
request.getSession(true).setAttribute("sessionApellido", clienteAux.getApellido());
//El cliente existe...
%>
<script type="text/javascript">
activar(false);
</script>
<%
}
}
if (request.getParameter("btnEnviar") != null)
{
out.print("password:"+request.getParameter("password"));
String password=request.getParameter("password");
int nroDoc=(Integer)session.getAttribute("sessionNDoc");
if (boCliente.addClienteWeb(password, nroDoc) > 0)
{
//removeAtt(session);
}
}
%>
<p> </p>
<p> </p>
<p> </p>
</body>
</html>
El problema está cuando llamo a la funcion en javascript desde el JSP, ya que me carga los campos de texto del formulario en "null". Si actualizo la pagina desde el navegador, recien me carga el nombre y apellido...
Pero esto si funciona a la primera:
js_nro_doc = "test"
document.forms[0].elements["nroDocumento"].value = js_nro_doc;
Alguna solucion?. Les agradezco infinitamente...
PD: De javaScript no tengo idea...