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

Uso de parametro en la misma página JSP

Estas en el tema de Uso de parametro en la misma página JSP en el foro de Java en Foros del Web. ¿Es posible utilizar un parámetro de un combobox en la misma página JSP? Tengo el siguiente código: ( En el cuerpo del JSP tengo un ...
  #1 (permalink)  
Antiguo 17/12/2011, 02:56
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Uso de parametro en la misma página JSP

¿Es posible utilizar un parámetro de un combobox en la misma página JSP?

Tengo el siguiente código:

( En el cuerpo del JSP tengo un combobox que lleno desde MYSQL y recojo un valor llamado letra)
.
.
.
<tr>
<td colspan="5"><div align="center" >Letra
<select name="letra" id="letra">
<c:forEach var="row" items="${letras.rowsByIndex}">
<c:forEach var="column" items="${row}">
<option value="<c:out value="${column}"/>"><c:out value="${column}"/>
</option>
</c:forEach>
</c:forEach>
</select>
</div>
</td>
</tr>
.
.
.
(El valor que toma la variable letra quiero utilizarlo como valor oculto en el mismo JSP dentro de un formulario).

<td><form id="form1" name="form1" method="post" action="recibido.jsp">
<label>

<div align="center">
<input type="submit" name="Submit" value="Recibido en servicio" />
<input type="hidden" name="Nsiniestro" value="<%=c1%>" />
<input type="hidden" name="letra" value="xxxx" />

<c:if test = "${user2.Recibidoser != '1111-11-11'}">
<script type="text/javascript">
<!--

document.form1.Submit.disabled = true;
-->
</script>
</c:if>

</div>

</label>
</form>

Por tanto, ¿ que dato hay que poner en el value del el input type con name= “letra” para que tome el valor elegido en el combobox?.

Gracias y saludos.
  #2 (permalink)  
Antiguo 17/12/2011, 04:32
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Uso de parametro en la misma página JSP

Hola:

En principio no puedes, salvo que uses javascript, haciendo que al evento de seleccionar en el combo cambie el value del input letra.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 17/12/2011, 05:20
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Uso de parametro en la misma página JSP

En primer lugar, muchas gracias por la celeridad en la respuesta.

Efectivamente en estos momentos estoy creando el script. No obstante, después de 5 horas de darle vueltas al tema, las neuronas me patinan.
He creado el siguiente script:

function Pasar(letra){

letra = document.getElementById(letra).value;
<jsp:forward page="cierreencargoparte2.jsp">
<jsp:param name="Nsiniestro" value="<%=c1%>" />
<jsp:param name="letra" value = ""/>
</jsp:forward>
}
Lo llamo desde el combobox:

<td colspan="5"><div align="center" >Letra
<select name="letra" id="letra" onchange ="Pasar(this.options.selectedIndex)">>

Pero continuo sin poder capturar el dato ¿que valor debe tener el param name =letra en script?

Gracias de nuevo.
  #4 (permalink)  
Antiguo 17/12/2011, 06:28
Avatar de navarone86  
Fecha de Ingreso: octubre-2009
Mensajes: 62
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Uso de parametro en la misma página JSP

hola,

en primer lugar te recomiendo usar jQuery, es una librería escrita en javascript que facilita muchísimo las cosas

en segundo lugar, en la función onchange del combo, te recomendaría pasarle el value en lugar del index

Código Javascript:
Ver original
  1. onchange="Pasar(this.value)"

tienes que ponerle un id a tu hidden

Código HTML:
Ver original
  1. <input type="hidden" name="Nsiniestro" id="Nsiniestro" value="<%=c1%>" />

el value puedes dejarlo vació

por último, la función javascript quedaría así:

Código Javascript:
Ver original
  1. function Pasar(val){
  2.     $("#Nsiniestro").val(val);
  3. }

usando jQuery, con el código anterior valdría. Si prefieres no usar jQuery, la función tendría que ser así:

Código Javascript:
Ver original
  1. function Pasar(val){
  2.    this.document.getElementById("Nsiniestro").value = val;
  3. }


un saludo, y espero haberte ayudado
  #5 (permalink)  
Antiguo 17/12/2011, 07:26
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Uso de parametro en la misma página JSP

Hola:

jsp se ejecuta en el servidor, javascript en el navegador. No puedes mezclar tan fácilmente javascript con jsp como pretendes en tu Pasar(letra). Deja el código como lo tenías antes, por un lado el combo, y por otro el formulario en html normalito.

Sigue llamando desde el combo al script Pasaar, pero el script debe ser el que te indica navarone86 en su último cuadro (creo que es con "letra" en vez de "Nsiniestro").

Sólo un par de detalles. Hay navegadores que mezclan el id y el name y en ellos es posible que funcione getElementById() cuando sólo has puesto name en la etiqueta. Pero los navegadores decentes no hacen eso, así que a letra ponle un id que sea el que uses en getElementById(). Por otro lado, los navegadores que mezclan id y name, van a encontrar dos posibles elementos con "letra" tal cual lo tienes, el input ... y el mismo combo al que has puesto el mismo name. Usa nombres distintos.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #6 (permalink)  
Antiguo 19/12/2011, 02:20
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Uso de parametro en la misma página JSP

En primer lugar agradecer vuestra ayuda. Es muy grato encontrar a personas que ayuden sin un interés especial, espero algún día devolveros el favor.
He realizado las funciones que indicáis y ¡¡¡le voile¡¡ funcionan a la perfección. El script captura el valor del combobox (realizo prueba mediante alert). No obstante, he intentado realizar los siguientes pasos sin exito. Con el fin aclaratorio, en primer lugar expongo el motivo de la función para posteriormente comentaros como he intentado crear la función.

Estoy intentando capturar varios parámetros de la página JSP, con el fin de darle uso en otra página. Con un formulario y un botón, el asunto es bien sencillo. No obstante, mi deseo es que cuando se elija una de las letras en el combobox, realice el salto a la página x capturando los parámetros de la página (en este caso dos Nsiniestro y letra).
Como bien sabéis, ya puedo capturar letra, pero desconozco como puedo capturar en el mismo script Nsiniestro. Y de que forma puedo enviar ambos a la siguiente JSP, ya que con href :
Código Javascript:
Ver original
  1. function Pasar(val,Nsiniestro){
  2.         this.document.getElementById("letra").value = val;
  3.         this.document.getElementById("Nsiniestro").value = Nsiniestro;
  4.        
  5.         href = "versiniestro.jsp?Nsiniestro=${Nsiniestro}&letra=${val}";
  6.        
  7.          alert (val)
  8.  
  9.     }
El api me señala error:
Fatal Error: The reference to entity "letra" must end with the ';' delimiter.

En fin.....no obstante es de agradecer vuestros comentarios, ya que me hacen recapacitar sobre mi ignorancia y mi falta de base en este tipo de lenguajes. Prometo ponerme al día y.........ser bueno.
Un saludo. Que tengaís un buen día.
  #7 (permalink)  
Antiguo 07/01/2012, 12:54
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Uso de parametro en la misma página JSP

Evidentemente, no he recibido respuesta por que he formulado una segunda consulta en el mismo hilo diferente a la que consta en la cabecera (entiendo). No obstante, ya la he resuelto, por lo que voy a poner la solución en una nueva consulta llamada:

JSP ENVIO DE VARIOS PARAMETROS MEDIANTE HREF

Un saludo todos.

Etiquetas: jsp, mysql, página, parametro
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 13:37.