Botón Enviar imagen dentro de un formulario

Tengo un formulario que tiene el botón Enviar en forma de una imagen. Cuando el usuario hace clic en el botón de imagen, el botón de imagen debe jugar el rol de botón de enviar.

Muestra de código:

Presentación de la manija:

 if($_POST['btn_opentextbox']) { //do something } 

Sorprendentemente, el código anterior solía funcionar perfectamente bien en Firefox. Sin embargo, una vez que actualicé mi Firefox ayer, no funcionó en absoluto. Hago clic en el botón, la página se actualiza y no pasa nada. El código tampoco funciona en IE.

Nota: funciona en Chrome.

Quiero que funcione en Firefox, IE, etc.

¿Alguna sugerencia?

puedes agregar un campo oculto

  

y en php puedes hacer esto

 if($_POST['action'] == "Submit Form"){ do something } 

espero que esto ayude.

Debe usar un botón de submit normal y usar CSS para reemplazar el aspecto del botón con una imagen . Esto debería funcionar en todos los navegadores.

para el botón de enviar imagen

el código php es

  if(isset($_POST['btn_opentextbox_X']) || isset($_POST['btn_opentextbox_Y'])) { //do something } 

El buen código php es:

  if ($_POST["btn_opentextbox_x"]) && ($_POST["btn_opentextbox_y"]) { ...... } 

Busque btn_opentextbox_x o btn_opentextbox_y en btn_opentextbox_y lugar. (En realidad no es _ pero PHP lo altera).

Algunos navegadores no pueden enviar el valor de los mapas de imágenes del lado del servidor, solo las coordenadas.

Y parece que has olvidado el atributo alt .


Alternativamente, use un botón de envío real en lugar de un mapa de imágenes:

  

… pero tenga en cuenta que algunas versiones de IE enviarán el contenido HTML en lugar del valor cuando se envíe.

¿Tiene varios botones en ese formulario y necesita saber que se envió el formulario? Si solo hay un botón de envío, sugiero usar el siguiente código:

 if ($_SERVER['REQUEST_METHOD'] == 'POST') { // process form submission header('Location: page.php?result=success'); } 

De esta forma, se asegurará de que se haya enviado el formulario y también evitará el doble envío si el usuario accede al botón de recarga después de enviar el formulario.