PHP - Saber que botón "submit" se ha pulsado desde un formulario

   
Vista:

Saber que botón "submit" se ha pulsado desde un formulario

Publicado por Juan (67 intervenciones) el 23/10/2013 16:20:38
Buenas tardes, temgo el siguiente formulario :

1
2
3
4
5
6
7
<form id="form1" name="form1" method="post" action="probar.php" autocomplete="off">
     <input name="input1" type="text" class="inputPeq" id="input1" value="" />
    <br>
    <pre>
    <input name="btnLogA" type="submit" class="btnAceptar" id="btnLogA" value="Enviar"/><span style="color: #FFF">  <input name="btnLogC" type="submit" class="btnCancelar" id="btnLogC" value="Cancelar"/>
    </span></pre>
</form>

Luego tengo el fichero "probar.php" que hace lo siguiente:

1
2
3
4
5
6
7
<?php
     if (isset(_POST['btnLogA'])) {
          Echo "Se ha pulsado el botón aceptar";
     } else {
          Echo "Se ha pulsado el botón cancelar";
     }
?>

Esto funciona bien en los navegadores, menos en internet explorer. Alguien sabe como se tiene que hacer para que desde internet explorer esto también funcione y pueda saber que botón se ha pulsado?

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Saber que botón "submit" se ha pulsado desde un formulario

Publicado por Mari Carmen (145 intervenciones) el 23/10/2013 16:35:35
Realmente IE en ese asunto se comporta de la misma forma. Todos los navegadores deben usar el protocolo HTTP que es estandar de la misma forma.
Aun así debes tener en cuenta que en programación nunca debes por dar cosas por hechas y con esto me refiero a tu if. Que btnLogA no exista no significa que sea btnLogC. De hecho puede ser btnLogB lo que el usuario introduce con otro formulario que apunte a tu pagina o directamente no hay btnLogX.
Otra cosa que veo, aun que supongo solo sera un desliz, post es una variable por lo que debe tener el símbolo $ delante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Saber que botón "submit" se ha pulsado desde un formulario

Publicado por Juan (67 intervenciones) el 23/10/2013 16:43:28
En eso estoy de acuerdo, solamente es un ejemplo para que vean que con internet explorer no funciona. Relamenete tengo algo comoesto:

1
2
3
4
5
6
7
<?php
     if (isset($_POST['btnLogA'])) {
          Echo "Se ha pulsado el botón aceptar";
     } else if (isset($_POST['btnLogC'])) {
          Echo "Se ha pulsado el botón cancelar";
     }
?>

Pero como digo es solo un ejemplo, a lo que me refiero es a que no se puede saber que botón he pulsado utilizando Internet Explorer.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Saber que botón "submit" se ha pulsado desde un formulario

Publicado por Mari Carmen (145 intervenciones) el 23/10/2013 16:49:17
Con que versión de IE te sucede? es por probarlo por si se puede repetir el problema.

Desde un Windows 7 con IE v 10.0.92000 Funciona Bien
Desde un Windows XP Pro con IE v 8.0.6001 También funciona

Voy a probar desde un windows 8 Lo comentaré despues.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Saber que botón "submit" se ha pulsado desde un formulario

Publicado por Mari Carmen (145 intervenciones) el 23/10/2013 17:09:04
Desde un Windows 8 con IE v 10.0.92000 Funciona bien tambien.
el código que he usado:
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
<?php
if(isset($_POST["btnLogA"]))
    die("Boton log A");
else if(isset($_POST["btnLogC"]))
    die("Boton log C");
else
    $msg = "Sin Boton";
 
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xml:lang="es" xmlns="http://www.w3.org/1999/xhtml" lang="es">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>Titulo</title>
    </head>
    <body>
        <div id="contenedor">
            <p><?=$msg?></p>
            <form id="form1" method="post" autocomplete="off">
                <input id="input1" class="inputPeq" name="input1" type="text" value="" />
                <pre>
                    <input id="btnLogA" class="btnAceptar" name="btnLogA" type="submit" value="Enviar"/>
                    <span style="color: #FFF">
                        <input id="btnLogC" class="btnCancelar" name="btnLogC" type="submit" value="Cancelar"/>
                    </span>
                </pre>
            </form>
        </div> <!-- /contenedor -->
    </body>
</html>

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Saber que botón "submit" se ha pulsado desde un formulario

Publicado por Juan (67 intervenciones) el 23/10/2013 17:54:23
Si funciona, lo he estado probando bien y todo perfecto, lo que no funciona es si pulsas la tecla INTRO desde el cuadro "text", se ejecuta el submit del formulario pero no se que botón he pulsado.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Saber que botón "submit" se ha pulsado desde un formulario

Publicado por Mari Carmen (145 intervenciones) el 23/10/2013 18:32:12
Con respecto a que aprietas la tecla ENTER y no detecta el botón solo he podido reproducir lo que dices en la versión de XP la 8.0, pero en la versión 10 funciona como se espera.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar