Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 13-may-2006, 12:04   #1 (permalink)
txemekle ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2006
Mensajes: 14
Como saber qué botón de un formulario se ha pulsado??

¿Como se puede saber el boton que se pulsa? Esto es, como se sabe el nombre del boton?

Todo esto sin reenviar nada (si se puede)
txemekle está desconectado   Responder Citando
Antiguo 13-may-2006, 16:18   #2 (permalink)
chuidiang tiene algunos puntos positivos de karma
 
Avatar de chuidiang
 
Fecha de Ingreso: octubre-2004
Mensajes: 740
Hola:

En el evento provocado por el botón, si no has hecho nada raro, con

evento.getActionCommand();

obtendras la etiqueta del botón.

Para más seguridad puedes hacer cosas como:

- Darle al botón un setActionCommand(String). La etiqueta puede ser la que quieras. Es la que obtendrás con evento.getActionCommand() y por defecto es la etiqueta del botón.

- Directamente (JButton)evento.getSource() te devuelve el botón en sí mismo, luego puedes preguntarle algo para identificarlo o compararlos con == si lo tienes guardado en otro sitio.

- Puedes darles nombres a los botones con setName() en el momento de crearlos. Luego, con el evento.getSource() obtienes el botón y preguntándole al resultado obtenido un getName() sabes exactamente que botón es.

En fin, como ves hay muchas posibilidades. El setActionCommand() es la que está pensada para esto.

Se bueno.
chuidiang está desconectado   Responder Citando
Antiguo 13-may-2006, 19:11   #3 (permalink)
BLEND ha deshabilitado el karma
 
Avatar de BLEND
 
Fecha de Ingreso: marzo-2006
Mensajes: 82
Que tal mi hermano, si estas utilizando un jsp y un sevlet, puedes hacer lo sigueinte:

(jsp)

<form action="NombreServlet" method="post">
<input type="text" name="variable" /> //parametro que se mandara al servlet.
<input type="submit" /> //tu boton que mandara los parametros al servlet.
</form>

(servlet)

String otraVariable = request.getParameter("variable"); //cachas el parametro y lo asignas en una variable String

if(otraVariable.equals("boton1"){
session.setAttribute("varibleAsignar","ParametroQu eSeAsgina"); //esto lo puedes hacer para almacenar tu parametro en una variable tipo sesion
}

response.sendRedirect("index.jsp"); //esto solo para que no te deje entrar al servlet y te mantenga solo en el index, en donde tienes tu pequeño formulario.

Espero haber entendid tu pregunta y haber respondido bien, si no hasmelo saber, camaras nos vemos.
BLEND está desconectado   Responder Citando
Antiguo 14-may-2006, 03:22   #4 (permalink)
txemekle ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2006
Mensajes: 14
chuidiang, creo que lo que me dices es para hacerlo en java, no? es culpa mia por no expresarme bien... Solo necesito saber que boton se pulsa en un jsp y no mandarlo a ningun servlet. Mirad, os lo explico con más detalle, saco una tabla de la bd con 4 columnas, 3 de ellas datos en si de la bd y en la ultima creo un boton con el que el usuario podrá borrar la fila correspondiente. Entonces es aqui donde necesito saber el nombre del boton para poder borrar la fila. creo que ahora queda mucho mas claro. Perdonad!
txemekle está desconectado   Responder Citando
Antiguo 14-may-2006, 07:07   #5 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.515
Una opcion es crear un formulario (form) diferente para cada fila, con un parametro oculto que te indique cual es la fila a borrar en la BDD.

<S>
GreenEyed está desconectado   Responder Citando
Antiguo 14-may-2006, 10:59   #6 (permalink)
txemekle ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2006
Mensajes: 14
y no hay limite de formularios en una pagina jsp?
txemekle está desconectado   Responder Citando
Antiguo 14-may-2006, 12:39   #7 (permalink)
BLEND ha deshabilitado el karma
 
Avatar de BLEND
 
Fecha de Ingreso: marzo-2006
Mensajes: 82
No hay ningun limite siempre y cuando no tenga el mismo nombre , pero podrias manejarlo con JavaScript
BLEND está desconectado   Responder Citando
Antiguo 14-may-2006, 15:02   #8 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.515
Que yo sepa no. De hecho no hace falta ni ponerles nombre, o les puedes poner un nombre con algo concatenado con el ID del registro a borrar, si quieres.
GreenEyed está desconectado   Responder Citando
Antiguo 15-may-2006, 02:22   #9 (permalink)
txemekle ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2006
Mensajes: 14
yo habia pensado llamarles de una forma a todos y concatenarles un contador, ya que se van a crear dentro de un bucle. lo siento compañeros, pero aun no me ha quedado clara la solucion....
txemekle está desconectado   Responder Citando
Antiguo 15-may-2006, 04:42   #10 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.515
¿Y que es lo que no te ha quedado claro? Por que tu mismo estas dando una solución. Hay muchas formas de darles nombres diferentes a los formularios, no es algo crítico que solo se pueda hacer de la forma X.
GreenEyed está desconectado   Responder Citando
Antiguo 15-may-2006, 14:36   #11 (permalink)
txemekle ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2006
Mensajes: 14
me refiero a que he intentado hacerlo con los formularios, pero tengo el mismo problema, no se como identificarlos. Es decir, cuando rellenas un campo de texto, sabes (porque lo guardas en un Bean) que has metido en cada campo de texto. Pero con botones, no se como hacerlo
txemekle está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 1,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:01.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93