Esa página que enlaza es incorrecta. No hay valor de method="LINK"
. Esto hará que el formulario vuelva al método predeterminado, GET
, que es equivalente a un elemento de anclaje con un atributo href
de todos modos.
<form method="GET" action="foo.html">
<input type="submit" />
</form>
Esto es igual a su ejemplo, pero válido; y es equivalente a:
<a href="foo.html">
Debe usar la semántica para determinar la forma de implementar su formulario. Como no hay campos de formulario para que el usuario complete, no se trata realmente de un formulario y, por lo tanto, no necesita usar <form>
para obtener el efecto.
Un ejemplo de cuándo utilizar una forma GET
es un cuadro de búsqueda:
<form action="/search">
<input type="search" name="q" placeholder="Search" value="dog" />
<button type="submit">Search</button>
</form>
Lo anterior permite al visitante a la entrada de su propia consulta de búsqueda, mientras que este elemento de anclaje no:
<a href="https://stackoverflow.com/search?q=dog">Search for "dog"</a>
Sin embargo, ambos irán a la misma página cuando se envíen/hagan clic (suponiendo que el usuario no cambia el campo de texto en el primer
Como acotación al margen, yo uso el siguiente CSS para conseguir enlaces que parecen botones:
button,
.buttons a {
cursor: pointer;
font-size: 9.75pt; /* maximum size in WebKit to get native look buttons without using zoom */
-moz-user-select: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: transparent;
}
.buttons a {
margin: 2px;
padding: 3px 6px 3px;
border: 2px outset buttonface;
background-color: buttonface;
color: buttontext;
text-align: center;
text-decoration: none;
-webkit-appearance: button;
}
button img,
.buttons a img {
-webkit-user-drag: none;
-ms-user-drag: none;
}
.buttons form {
display: inline;
display: inline-block;
}
Si está haciendo un enlace que parece un botón, parece un trabajo para CSS. – ajm
El uso de '' fuera de un '