Además de la respuesta de Darin sobre el uso de un método GET de formulario, también puede llamar a funciones de JavaScript que a su vez invocarán una acción.
Puede interceptar el evento de clic de botón al hacer clic y ejecutar su propio código. Ese código puede llamar a una acción de forma asíncrona con Ajax o simplemente navegar a un método de acción
Aquí es ejemplo JavaScript que intercepta el evento de clic de botón
$(document).ready(function() {
myButton.onclick = function (event) {
// in here you can call an ajax method or just navigate to an action
return false;
}
// or using jQuery
$('#myButton').click(function (e) {
// do whatever here
e.preventDefault;
});
});
O puede interceptar un botón que tiene un atributo href
$(function() {
$("#myButton").click(function() {
var href = $(this).attr("href");
var route = href + "?paramName=" + $('#SomeValue').val();
$(this).attr("href", route);
});
});
Esto añade información de parámetros que puede haber almacenado en otra entrada en la página y lo añade a la URL y luego se desplaza a la acción
Por qué usar javascript cuando HTML ya tiene todo lo necesario? Escribir el marcado semántico siempre es mejor que javascript. –
Sí, pero el OP estaba preguntando sobre hacer clic en un botón para llamar a una acción, esa acción podría no ser necesariamente una publicación de un formulario, podría ser solo para navegación o una simple solicitud de ajax. –
¿Quién dijo que un formulario solo puede hacer POST? Podrías perfectamente usar el verbo GET. –