Pregunta

He creado un formulario en mi solicitud 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é aparecen x e y en mi URL?En más cosas en lugar del botón de imagen, si estoy cambiando el código de mi formulario como se muestra a continuación, entonces 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.Dígame cómo eliminar estos parámetros xey de la URL.

¿Fue útil?

Solución

Siempre obtendrá las coordenadas del mouse para un botón de envío type = " image "

Puede usar un botón de tipo 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;" />

Otros consejos

Son las coordenadas del ratón del clic.No creo que haya ninguna manera de prevenirlos; si usas un <input type='image'> entonces los obtienes.Por qué es un problema?¿No puedes simplemente ignorarlos?

Respondiendo al comentario de Prashant:Digg está agregando un onclick manejador de la <input> (o posiblemente un onsubmit controlador al formulario) que crea la URL de búsqueda de aspecto elegante y redirige el navegador a esa URL, y luego devuelve false para prevenir el <input> de enviar el formulario en sí.Si desactiva JavaScript verá que obtiene el x y y parámetros en la URL.¡Inteligente!

document.getElementById("formid").submit = function() {
    location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
    return false;
};

Simplemente puede establecer un valor para un botón de imagen; esto anulará el comportamiento normal de las coordenadas.Funcionó para mí.

Por ejemplo :

<input type="image" value="submit" src="sup.png" name="supprimer" />

devolverá la variable php $_POST['supprimer'] y no su coordenada como botón de imagen.Espero que este truco te ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top