2010-11-30 19 views
11

Tengo una forma sencilla:¿Cómo evitar que un formulario con método GET envíe el valor del botón de envío?

<form action="/search" method="get"> 
    <input type="text" name="q" value=""> 
    <input type="submit" name="search" value="search"> 
</form> 

Al presentar la URL es `/search?q=Loremipsum&search=search

Realmente no quiero que el último bit, esto parece un problema bastante común y creo que podría ser resuelto sin js, pero me di cuenta de que incluso google.com tiene este problema cuando haces clic en el botón de búsqueda. (Tal vez ellos no se preocupan mucho acerca de las URL feas?)

search?hl=en&source=hp&q=Loremipsum&btnG=Google+Search&aq=f&..

¿Hay una manera de evitar que el valor del botón de enviar para ser excluidos sin javascript?

Veo en desbordamiento de pila la búsqueda es ?q= pero no tienen un botón enviar.

Respuesta

26

Se puede omitir atributo de nombre en la entrada final de la siguiente manera:

<form action="/search" method="get"> 
    <input type="text" name="q" value=""> 
    <input type="submit" value="search"> 
</form> 

debe hacer el truco. Mantener el atributo value le permite manipular qué texto se muestra en el botón.

+0

Esto ya no parece funcionar, al menos en Chrome. ¿Hay una solución más actualizada? –

3

Para el registro, también puede omitir el botón de enviar si lo desea, y el formulario se enviará cuando presione regresar después de escribir su término de búsqueda. (Así es como funciona el cuadro de búsqueda de desbordamiento de pila).

Cuestiones relacionadas