服务器端模型验证通过后,禁用mvc中的提交按钮

时间:2015-06-22 10:04:32

标签: javascript jquery model-view-controller

我在控制器中对客户端验证了java脚本和模型状态验证,与文件附件有关。 我想在点击后禁用我的保存(提交)按钮。 我检查了与此相关的堆栈溢出链接给出的所有解决方案。

$(document).ready(function () {
    $(".submitBtn").click(function () {
        $('input[type="submit"]').prop('disabled',true);
        $('#yourFormId').submit();
    });
});

MVC

public actionresult Save(LatestUpdatemaster objUpdate,HttppostedFileBase filename){
    string strResult="";
    strResult = Utility.UploadUpdateDocument(filename,foldername);
    if(strResult != "1"){
        ModelState.AddModelError("FileName",strResult);
    }
    else{
        //Save code...
    }
}

也尝试了这个,

$('#form').one('submit',function(){ $(this).find('input[type="submit"]).attr('onclick','his.style.opacity="0.6";retu‌​rn false;');

代码创建按钮

<input class="btn btn-primary" type="submit" value="Save" name="Save" id="Save" />

客户端 - 查看

$('#Save').click(function(e){
    Duplicatevalidation();
    if($'#Updatename').text().trim() == ''){
        e.preventDefault();
    }
});

如果我在客户端执行此操作,则值将不会提交给控制器。 我还想完成服务器端模型验证 然后禁用两次不提交表单。 请指导。

1 个答案:

答案 0 :(得分:0)

你可以简单地这样做

$(document).ready(function () {
     $(".submitBtn").click(function () {
        $(this).prop('disabled',true);
         $('#yourFormId').submit();
        });
     });