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?


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.


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 .


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.


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.


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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.