¿Cómo poner imagen en botón SUBMIT en IE?

Necesito que el botón submit de un formulario, sea una imagen.
Con firefox no tengo problemas, pero con IE para no variar si. Una vez que envío el formulario me deja en blanco el iframe en donde muestro la página de respuesta.

1 respuesta

Respuesta
1
Existe un tipo de input que es una imagen y sirve para enviar el formulario:
<input type="image" src="ruta_imagen.jpg" alt="Enviar formulario" title="Enviar" />
Maestro, agradezco el código dado, pero ya lo he usado y no funciona. Voy a entrar más en detalle para ver si es posible comprendas mejor cual es mi problema.
Estoy trabajando en un sistema cliente servidor, con php/mysql y deseo colocar una imagen al botón submit para mejorar la estética, no puedo hacerlo con flash ya que en base al valor(value) del nombre(name) del botón se comportará el archivo que procesa el formulario enviado, por ello necesito que viajen los datos name y value. Con firefox no tengo problemas, pero para no variar con iexplorer si, hice algunas pruebas de los datos que están llegando al archivo php que procesa el formulario enviado y el valor del atributo name es VACÍO. Te reitero, esto sucede solo con iexplorer, no con firefox.
A continuación parte del código del archivo en donde coloque la imagen
<tr>
<td align="center"><input type="image" src="btn_entrar.gif" width="94" height="23" name="boton" value="Ingresar"></td>
</tr>
pd: como te darás cuenta tengo una tabla y el botón esta dentro de una celda.
Agradecería cualquier acotación, he gogleado bastante y aun no encuentro solución
Desde ya gracias por tu respuesta!
Byte
Al trabajar estos botones, ocurre algo un poco más complejo con PHP, y es que cada imagen NOenvía su nombre, sino varios datos dependiendo del navegador.
Firefox y otros:
$_POST['nombre'];   //Te retorna el NOMBRE del input
$_POST['nombre_x']; //Te retorna el la coordenada X de donde se hizo click en el input
$_POST['nombre_y']; //Te retorna el la coordenada Y de donde se hizo click en el input
Internet Explorer, te devuelve UNICAMENTE los dos últimos valores, por lo que obtienes un valor vacio al usar $_POST['nombre'];
Ahora... ¿para qué es útil esto? Para saber con que botón enviaste el formulario, en caso de tener varios.
Código de formulario de ejemplo:
<input name="eliminar" src="delete.gif" type="image" />
<input name="editar" src="edit.gif" type="image" />
<input name="crear" src="create.gif" type="image" />
<input name="salir" src="exit.gif" type="image" />
Y el siguiente código PHP trabajaría con eso (todos los botones envían el MISMO formulario, pero solo se envía la información del input al que se le hace click, por lo que trabajaríamos así:
<?php
if(isset($_POST['salir_x'])) {
header("Location: salida.php"); //Salimos
exit;
}
else
{
if(isset($_POST['editar_x'])) {
//La acción escogida es editar
}
//Y asi con las otras. Ten en cuenta que sirve tanto
//$_POST['nombre_x'] como $_POST['nombre_y'].. pero
//por algún motivo siempre uso nombre_x.
}
?>
Espero que esto te haya ayudado.
Si todavía tienes dudas, puedes contactarme por msn:
[email protected]
Maestro... funkó de la manera que acotaste.
Me resta agradecerte el aporte y valorar la disposición a los demás,
Así es que un millón de gracias desde chile !
Byte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas