我有這種情況:ASP.NET按鈕點擊調用JavaScript函數BeginForm停止表單提交
@using (Html.BeginForm("CreateNewApplication", "Token", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<label for="app-name" class="op-form op-label">Application:</label>
@Html.TextBoxFor(a => a.appName, new { @placeholder = "Nome dell'applicazione", @class = "op-form op-text app-name" })<br />
<label for="token" class="op-form op-label">Token:</label>
<button id="generate-token" class="op-form" value="Genera Token">Generate Token</button>
@Html.TextBoxFor(a => a.appToken, new { @placeholder = "Token", @id = "token", @class = "op -form op-text token" })<br />
<input id="submit" type="submit" class="op-form op-submit" value="Submit" />
}
和按鈕調用此JavaScript函數:
$('#generate-token').click(function() {
var token = Math.random().toString(36).slice(2);
$("#token").val(token);
});
的問題是,當點擊該按鈕,JavaScript函數被正確調用,但在我的令牌控制器中也稱爲CreateNewToken方法。雖然我只想點擊按鈕調用Javascript,點擊提交時調用方法控制器。 有可能做到嗎?怎麼樣?
你應該使用的preventDefault() - 見http://www.w3schools.com/jquery/event_preventdefault.asp '$( '#生成令牌')。 (token); }()函數(e) );' – phooey