HTML Submit-button: valor diferente / botón de texto?

139

Me gustaría crear un botón de envío de formulario HTML con el valor 'add tag' , sin embargo, la página web está en sueco, por lo que me gustaría tener un texto de botón diferente .

Es decir, quiero tener un botón como

ingrese la descripción de la imagen aquí

pero quiero tener mi código como

if (request.getParameter(cmd).equals("add tag"))
    tags.addTag( /*...*/ );

es posible? ¿Si es así, cómo?

aioobe
fuente
44
Creo que el valor no debería importar. Simplemente debe verificar la presencia de "add_tag" en sus datos POST
greg0ire
66
Leí esto como "Quiero que el texto de la entrada no sea relevante para el procesamiento del lado de mi servidor" para que cuando tenga varias traducciones para un formulario no obtenga uno de los varios valores de texto publicados. Importa cuando su formulario tiene varios botones de envío y desea hacerlo si (request.getParameter ("submit-type"). Equals ("add-tag") ... para ver cuál fue presionado.
ijw

Respuestas:

228

Es posible usar el buttonelemento.

<button name="name" value="value" type="submit">Sök</button>

Desde la página del W3C en button:

Los botones creados con el elemento BUTTON funcionan igual que los botones creados con el elemento INPUT, pero ofrecen más posibilidades de representación: el elemento BUTTON puede tener contenido.

Pekka
fuente
77
Solo una nota, esto no funciona como se anuncia en IE6 / 7. Este artículo puede corregir el problema, pero tendrá problemas si está utilizando asp.net u otro marco que no permita
ristonj
también puede usar la propiedad de nombre que proporciona salida en POST
TheSatinKnight
23

Siguiendo la sugerencia de @ greg0ire en los comentarios:

<input type="submit" name="add_tag" value="Lägg till tag" />

En el lado del servidor, harás algo como:

if (request.getParameter("add_tag") != null)
    tags.addTag( /*...*/ );

(Como no conozco ese idioma (¿java?), Puede haber errores de sintaxis).

Preferiría la <button>solución, pero no funciona como se esperaba en IE <9 .

Sony Santos
fuente
13

Aquí hay muchas respuestas que explican lo que puede hacer (uso el nombre de campo diferente uno), pero la respuesta simple (y aún no declarada) a su pregunta es 'no': no ​​puede tener un texto y valor diferentes usando solo HTML.

ijw
fuente
2

No sé si lo entendí bien, pero, según tengo entendido, podría usar un campo oculto adicional con el valor "agregar etiqueta" y dejar que el botón tenga el texto deseado.

Flinsch
fuente
3
No es útil con varios botones en el mismo formulario, lo que creo que es el problema del OP.
ijw
No puedo ver ninguna evidencia de su pregunta de que haya varios botones en el mismo formulario.
Darren
0

Si maneja "agregar etiqueta" a través de JScript:

<form ...>
<button onclick="...">any text you want</button>
</form>

O arriba si se maneja a través de la recarga de la página

Andrey Pokhilko
fuente
2
Sí, JS requiere para cada forma individual, independientemente de la simplicidad. Bienvenido a ASP.NET.
ijw
Como desarrollador de ASP.Net, puedo confirmar esto. : P Suponiendo que sigas viviendo en los días de los formularios web de todos modos. ASP.Net MVC es mucho mejor. Sin vistas, formularios globales, etc.
James Billingham