Saltar al contenido

Dos botones de envío en un formulario

Puede darse el caso de que halles algún error en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.

Solución:

Solución 1:

Asigne a cada entrada un valor diferente y mantenga el mismo nombre:



Luego, en el código, verifique cuál se activó:

if ($_POST['action'] == 'Update') 
    //action for update here
 else if ($_POST['action'] == 'Delete') 
    //action for delete
 else 
    //invalid action!

El problema con eso es que vincula su lógica al texto visible para el usuario dentro de la entrada.


Solución 2:

Asigne a cada uno un nombre único y verifique en $_POST la existencia de esa entrada:



Y en el código:

if (isset($_POST['update_button'])) 
    //update action
 else if (isset($_POST['delete_button'])) 
    //delete action
 else 
    //no button pressed

Si le da un nombre a cada uno, el que hizo clic se enviará como cualquier otra entrada.


Una solución aún mejor consiste en usar etiquetas de botón para enviar el formulario:

...

el html en el interior el botón (por ejemplo ..>Update<.. es lo que ve el usuario; debido a que se proporciona HTML, el value no es visible para el usuario; solo se envía al servidor. De esta manera, no hay inconveniente con la internacionalización y los múltiples idiomas de visualización (en la solución anterior, la etiqueta del botón también es el valor enviado al servidor).

Aquí puedes ver las reseñas y valoraciones de los lectores

Recuerda algo, que puedes optar por la opción de interpretar si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *