Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Como saber qué botón de un formulario se ha pulsado?? (http://www.forosdelweb.com/f45/como-saber-que-boton-formulario-ha-pulsado-393406/)

txemekle 13/05/2006 12:04

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)

chuidiang 13/05/2006 16:18

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.

BLEND 13/05/2006 19:11

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.

txemekle 14/05/2006 03:22

chuidiang, creo que lo que me dices es para hacerlo en java, no? es culpa mia por no expresarme bien...:si: 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!

GreenEyed 14/05/2006 07:07

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>

txemekle 14/05/2006 10:59

y no hay limite de formularios en una pagina jsp?

BLEND 14/05/2006 12:39

No hay ningun limite siempre y cuando no tenga el mismo nombre ;-), pero podrias manejarlo con JavaScript

GreenEyed 14/05/2006 15:02

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.

txemekle 15/05/2006 02:22

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....:patada: :patada:

GreenEyed 15/05/2006 04:42

¿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.

txemekle 15/05/2006 14:36

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


La zona horaria es GMT -6. Ahora son las 07:03.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.