Così come la risposta di Darin sull'utilizzo di un metodo GET del modulo, è anche possibile chiamare le funzioni javascript che a loro volta chiameranno un'azione.
È possibile intercettare l'evento clic sul pulsante quando si fa clic e si esegue il proprio codice. Questo codice può chiamare un'azione in modo asincrono utilizzando Ajax o semplicemente passare a un metodo di azione
Ecco javascript campione che intercetta l'evento pulsante di scatto
$(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;
});
});
Oppure si può intercettare un pulsante che ha un attributo href
$(function() {
$("#myButton").click(function() {
var href = $(this).attr("href");
var route = href + "?paramName=" + $('#SomeValue').val();
$(this).attr("href", route);
});
});
Questo aggiunge le informazioni sui parametri che si possono avere memorizzato in un altro ingresso sulla pagina e lo aggiunge l'URL e poi naviga all'azione
fonte
2012-05-25 11:42:02
Perché usare JavaScript quando HTML ha già tutto ciò che è necessario? Scrivere il markup semantico è sempre meglio di javascript. –
Sì, ma l'OP chiedeva di fare clic su un pulsante per chiamare un'azione, quell'azione potrebbe non essere necessariamente un Post di un modulo, potrebbe essere solo per la navigazione o una semplice richiesta Ajax .. –
Chi ha detto che un modulo può solo fare il post? Potresti perfettamente usare il verbo GET. –