我有一个这样的表格
@using (Html.BeginForm("action", "controller", FormMethod.Post, new { id = "_identity" }))
{
// element here
<input class="buttonblue" type="submit" value="Save" id="Submit1" />
}
由Model
验证。
它工作正常。现在我想检测在验证后是否在控制器操作中达到此请求。
实际上我想在控制器上达到请求时禁用submit button
。
我试过以下。但我认为这不正确。
$('#_identity').submit(function () {
$("#Submit1").val("Saving...");
$("#Submit1").attr('disabled', 'disabled');
});
在控制器和验证之前达到请求之前调用此方法。
如果表单经过验证并且在控制器处达到请求,我想要简单的事情,那么用户就无法再次点击提交按钮。
答案 0 :(得分:2)
我已经解决了这个问题。
使用
$('#_identity').submit(function () {
if ($(this).valid()) {
$(':submit', this).attr('disabled', 'disabled');
$(':submit', this).val('Saving...');
}
});
我找到了Here
答案 1 :(得分:0)
以这种方式使用Ajax.BeginForm
:
@using (Ajax.BeginForm("action", "controller", new AjaxOptions{ HttpMethod ="Post",OnBegin ="OnBegin",OnSuccess="OnSuccess",OnFailure="OnFailure"},new { id = "_identity" }))
{
// element here
<input class="buttonblue" type="submit" value="Save" id="Submit1" />
}
和js:
<script type="text/javascript">
function OnBegin() {
// disable submit button here
}
function OnSuccess() {
// enable submit button here
}
function OnFailure() {
// enable submit button in case of failure
}
</script>