Me gustaría tener un botón de enviar que presente un valor diferente al que se muestra en el botón. Con <input type="submit">
parece que no puede hacer esto. Sin embargo, con <button type="submit">
, estos pueden ser dos valores diferentes. La pregunta es, ¿funcionará en todos los navegadores?<button type = "submit"> compatibilidad?
Tratando este código de prueba aquí:
<form method="get" action="">
<input type="text" name="txt"/>
<button type="submit" name="btn" value="val">text</button>
</form>
En FF 3.6 se actualiza mi barra de direcciones con ambos valores apropiadamente (y me responde presionando entrar en el cuadro de texto). En IE 8, también acepta presionar enter, muestra el valor del texto en la barra de direcciones, pero no muestra el valor del botón como un parametro GET para nada ... ¿significa eso que no lo está enviando?
No puedo usar entradas ocultas porque necesito determinar en qué botón se hace clic sin JS.
Prueba 2:
<form method="get" action="">
<input type="text" name="txt"/>
<button type="submit" name="submit1" value="submit1">submit</button>
<input type="submit" name="submit2" value="submit2"/>
<input type="submit" name="submit3" value="submit3"/>
</form>
En IE8, oprimir la tecla Enter no presentar ninguno de los botones, pero al hacer clic Submit1 se enviar un valor. Enviará "enviar", no "enviar1", lo cual es inconsistente con FF. Sin embargo, al enviar el formulario solo se envía el valor de un botón en ambos navegadores, lo que significa que podría verificar en el que se hizo clic en el botón comprobando si en su lugar había GET['submitX']
. Chrome tiene un comportamiento ligeramente diferente al presionar enter (submits button2). Opera parece consistente con FF ... pero los 4 navegadores solo presentan un botón. No tengo ninguna versión anterior de los navegadores instalados ... ¿Alguien sabe si funciona en versiones anteriores, especialmente IE6?
¿No quieres usar '' en lugar? – vooD
@vooD: No ... la idea es que quiero tener múltiples botones de envío en la página, y los necesito para hacer cosas diferentes, sin el uso de JavaScript. – mpen
para probar en IE5 e IE6, y si está ejecutando Windows, siempre puede usar IE Tester @ http://www.my-debugbar.com/wiki/IETester/HomePage – balexandre