2009-04-29 8 views
47

He creado un formulario en mi solicitud de la siguiente manera:¿Cómo eliminar xey en el formulario HTML con el botón Tipo de imagen?

<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 estoy presentando mi formulario y luego URL se crea de la siguiente manera:

mysitename.com/search/?search=hello&x=0&y=0 

Puede alguien decirme por qué este xy y viene en mi URL En más cosa en lugar de botón de imagen si voy a cambiar mi código de forma que a continuación entonces su trabajo 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 hacer que mi forma se ve bien. Por favor dígame cómo eliminar estos parámetros xey del URL.

Respuesta

69

Usted siempre obtendrá ratón coordenadas para un tipo de botón enviar = "imagen"

Se puede utilizar un estándar de tipo botón de enviar y acaba de aplicar estilos a él 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;" /> 
+3

Finalmente he adoptado su solución, en lugar de codificar otras 5-6 o más ... líneas de código javascript :) – Prashant

+0

sweet works a champ una vez que agrega * cada elemento de estilo * mencionado :) – rogerdpack

+0

Si desea enviar un valor , puede agregar "color: transparente"; al estilo Funcionó en las últimas versiones de Chrome, Safari y Firefox. – 23inhouse

4

Son las coordenadas del mouse del clic. No creo que haya alguna forma de prevenirlos: si usas un <input type='image'>, los obtienes. Por qué es un problema? ¿No puedes ignorarlos?

Respondiendo comentario de Prashant: Digg está agregando un controlador onclick a la <input> (o posiblemente un controlador onsubmit a la forma), que construye la URL de búsqueda de aspecto limpio y redirige el navegador a esa URL, y luego vuelve false para evitar la <input> desde enviar el formulario. Si desactiva JavaScript, verá que obtiene los parámetros x y y en la URL. ¡Inteligente!

+0

Quiero ignorarlos porque mis usuarios comparten la URL de búsqueda de mi sitio web a través de la web y, por lo tanto, si la xey vienen en mi url, será una URL larga que no se verá bien y no está bien para SEO también. Y creo que se pueden eliminar ¿Cómo? No lo sé, pero Digg está haciendo esto, solo eche un vistazo a su página de búsqueda: http://digg.com/search – Prashant

+0

Su respuesta se ve bien, creo que javascript es la manera de quitar estos parámetros .... – Prashant

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

Simplemente puede establecer un valor, por un botón de imagen, esto va a reemplazar el comportamiento coordenadas regular. Funcionó para mí

Por ejemplo:

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

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

Cuestiones relacionadas