sea - poner un boton encima de una imagen html
¿Cómo eliminar xey en enviar en formato HTML con el botón Tipo de imagen? (4)
Creé un formulario en mi aplicación de la siguiente manera:
<form action="/search/" method="get">
<input id="search-box" name="search" type="text" size=30 title="Search" value="" />
<input id="search-submit" type="image" alt="Search" src="/images/search-button.gif" />
</form>
Pero cuando envío mi formulario, la URL se crea de la siguiente manera:
mysitename.com/search/?search=hello&x=0&y=0
¿Alguien puede decirme por qué este xey viene en mi URL? En más cosas en lugar de botón de imagen si cambio mi código de formulario de la siguiente manera, funciona bien,
<form action="/search/" method="get">
<input id="search-box" name="search" type="text" size=30 title="Search" value="" />
<input id="search-submit" type="submit" value="Search"/>
</form>
pero necesito un botón de imagen para que mi formulario se vea bien. Por favor dígame cómo eliminar estos parámetros xey del URL.
Siempre obtendrás las coordenadas del mouse para un botón de enviar type = "image"
Puede usar un botón de envío estándar y simplemente aplicarle estilos para cambiar el aspecto.
<input type="submit" id="search-submit" value=""
style="background-image: url(/images/search-button.gif); border: solid 0px #000000; width: WIDTHpx; height: HEIGHTpx;" />
Simplemente puede establecer un valor, para un botón de imagen, esto anulará el comportamiento de coordenadas regulares. Funcionó para mí
Por ejemplo :
<input type="image" value="submit" src="sup.png" name="supprimer" />
devolverá la variable php $_POST[''supprimer'']
y no sus coordenadas como botón de imagen. Espero que este truco te ayude.
Son las coordenadas del mouse del clic. No creo que haya alguna manera de prevenirlos: si usas una <input type=''image''>
entonces los obtienes. Por qué es un problema? ¿No puedes ignorarlos?
Respondiendo el comentario de Prashant: Digg está agregando un manejador onclick
al <input>
(o posiblemente un manejador onsubmit
al formulario) que construye el URL de búsqueda prolija y redirige el navegador a ese URL, y luego devuelve false
para evitar el <input>
de enviar el formulario en sí. Si desactivas JavaScript, verás que obtienes los parámetros y
en la URL. ¡Inteligente!
document.getElementById("formid").submit = function() {
location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
return false;
};