Hoy leyendo un artículo relacionado al elemento <button />
;, me ha asaltado una duda (si, otra más), ¿por que usamos el elemento <input />
para submitar formularios y no usamos el elemento <button />
?
Al parecer en la nueva especificación, aun por terminar, está incluido para la HTML 5, aunque falte su especificación y además junto al elemento <input />
. Si leemos la especificación del HTML 4 nos dice que el elmento <button />
está permitido dentro de elementos <a /><form />
y <fieldset />
al igual que elementos <input />
.
<input />
<input />
es un elemento de formulario que permite definir su tipo entre una considerable cantidad de posibilidades (text
, password
, checkbox
, radio
, file
, hidden
, ..) y las que me llevan a mi duda… submit
, reset
, button
e … image
(¿que pasa los imagenes?).
Este elemento está pensado para que el usuario «introduzca» datos, ya sea mediante letras o cualquier otro método, pero siempre haciendo referencia a datos que introduce el usuario. Pero al parecer el uso lleva a los vicios y por algún motivo que desconozco, se le otorgan propiedades no relacionadas con la introducción de datos por parte del usuario.
<form id="formulario" action="accion" method="post">
<fieldset>
<label for="nombre">
Nombre: <input type="text" id="nombre" name="nombre" value="" />
</label>
</fieldset>
</form>
<button />
Por otro lado tenemos el elemento <button />
, que es uno de los elementos desconocidos, debido a que por … ese motivo desconocido, la gente usa <input />
en lugar de button. Pero si leemos la especificación vemos que el elemento <button />
tambien permite convertirse en una serie de elementos diferentes dependiendo del type que definamos (submit
,reset
, button
).
Si tenemos dos elemento que pueden submitar un formulario, ¿cual debemos usar?. Si seguimos la perspectiva de la evolución de otras etiquetas vemos que tienden a convertirse en etiquetas con etiqueta de cierre, de tal forma que permite que el desarrollador integre un contenido adicional al elemento, ya sea como texto alternativo en el caso de las imagenes como para mejorar el aspecto de nuestros botones.
<BUTTON name="enviar" value="enviar" type="submit">
Enviar <IMG src="/iconos/ahivaeso.gif" alt="¡Ahí va eso!" />
</BUTTON>
<BUTTON name="reiniciar" type="reset">
Reinicializar <IMG src="/iconos/ayno.gif" alt="¡Ay, no!" />
</BUTTON>
Viendo estos ejemplos parece más correcto usar el elmento <button /> como elemento que submite nuestro formularios. ¿no creeis? ¿no es más semántico usar <button /> en lugar de <input />? ¿Alguna idea de por que se usa <input />?
No quiero decir que usar <input /> sea incorrecto, pero viendo esto, da la sensación de que no es lo más correcto 😀
Y lo más curioso,…
<BUTTON type="button" name="button">
Me llamo button.
</BUTTON>
Valgame la redundacia!! 😀
12 comentarios, 3 referencias
+
#