El problema
¿No te parece que los botones de formulario son demasiado grises y aburridos? Sería estupendo poder utilizar botones con las imágenes que nosotros queramos ¿verdad?. Pues es posible: en los formularios puedes colocar imágenes que hagan las veces de botones de envío o controlados por scripts.

La solución

La solución no requiere ningún truco de programación, se trata simplemente de hacer uso de las etiquetas HTML colocando el botón de tipo image con los atributos habituales en este tipo de elementos como el origen de la imagen (src), altura (height), anchura (width), grosor del borde (border),.... El siguiente sería un botón de envío (submit):

<input name="btnImagen" type="image" src="miboton.gif" width="40" height="40">

Y si quieres controlar la pulsación del botón con un script

<input name="Submit" type="image" src="miboton.gif" width="40" height="40"
onclick="funcionControl( )">

La función de control dependerá como es lógico de lo que quieras hacer.

Un caso práctico

Como ejemplo puede servir esta formulario

<form name="form1" id="get" action="javascript:enviar(this.form1)">
<input type="text" name="nombre">
<input name="Submit" type="image" value="Submit" src="miboton.gif" width="40" height="40">
</form
>

Tan sencillo como lo que ves en este ejemplo en el que al pulsar el botón se llama a una rutina javascript.