2010-11-13 11 views
112

Me gustaría crear un formulario HTML botón de enviar con el valor 'add tag', sin embargo, la página web es en sueco, así que me gustaría tener un botón diferente texto.HTML Enviar-botón: ¿Diferente valor/botón-texto?

Es decir, yo quiero tener un botón

enter image description here

pero yo quiero tener mi código como

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

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

+0

Por favor, aclare. –

+4

Creo que el valor no debería importar. Simplemente debe verificar la presencia de "add_tag" en sus datos POST – greg0ire

+6

Leo esto como "Quiero que el texto de la entrada no sea relevante para el procesamiento de mi servidor", de modo que cuando tenga varias traducciones para un formulario, no lo use. No se publica uno de varios valores de texto. Es importante que su formulario tenga varios botones de envío y que desee hacer si (request.getParameter ("submit-type"). Equals ("add-tag") ... para ver cuál fue presionado. – ijw

Respuesta

182

Es posible utilizar el elemento button.

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

De los W3C page on button:

botones creados con la función de elemento BUTTON igual que los botones creados con el elemento de entrada, pero ofrecen posibilidades de representación más ricos: el elemento de botón puede tener contenido.

+6

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 permite HTML en la devolución de datos: http://allinthehead.com/retro/330/coping-with-internet- exploradores-mal manejo de botones – ristonj

1

No sé si lo hice 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, que creo que es el problema del OP. – ijw

+0

No se puede ver ninguna evidencia de su pregunta de que hay varios botones en el mismo formulario. – Darren

0

Si manejas "añadiendo la etiqueta" a través de JScript:

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

o superior si se asa a través de la página de recarga

+2

Yay, JS requerido para cada forma, independientemente de su simplicidad. Bienvenido a ASP.NET. – ijw

+0

Como desarrollador de ASP.Net, puedo confirmarlo. : P Asumiendo que todavía estás viviendo en los días de webforms de todos modos. ASP.Net MVC es mucho mejor. Sin viewstates, formularios de envoltura global, etc. –

6

Hay un montón de respuestas aquí que explican lo que podría hacer (yo uso los diferentes nombre de campo uno) pero la respuesta simple (y aún no testada) a su pregunta es 'no' - no puede tener un texto y valor diferente usando solo HTML.

20

Siguiendo la sugerencia greg0ire @ en los comentarios:

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

En el lado del servidor, que va a hacer algo como:

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

(Ya que no sé que el lenguaje (Java?), puede haber errores de sintaxis.)

Preferiría la solución <button>, pero it doesn't work as expected on IE < 9.

Cuestiones relacionadas