Jquery.validate 与 onsubmit 配合使用问题


function WaitFor() {
    var div = $('<div style="Filter:Alpha(Opacity=50);background-color:#FFE4B5;position:absolute;top:0;left:0;width:100%;height:75%;text-align:center;padding:250px 0 0 0;"><div style="width:280px;border:solid 1px #000;padding:20px 0 20px 0;color:#000;font-weight:bold;">wait for processing......</div></div>');
    $('body').append(div);
}

function AskContinue() {
    if (confirm("Are you sure you want to do it?")) {
                   $("form").submit();
    }
}

@using (Html.BeginForm("ForUpload", "CSOT", FormMethod.Post, new { @enctype = "multipart/form-data",@onsubmit="WaitFor()"}))
{
    <div>
        <fieldset>
            <legend>CSOT Upload File</legend>
            <div class="editor-label">
            TXT File
            </div>
            <div class="editor-label">
            @Html.TextBoxFor(m=>m.TXTFile, new { @type = "file", @style = "width:95%;" })
            <br/>@Html.ValidationMessageFor(m => m.TXTFile)
            </div>

           <div class="editor-label">
            <input type="button" style = "width:200px" onclick="AskContinue()" value="Submit"/>
            </div>       

         </fieldset>
     </div>
}

 

在MVC3中,如果一起使用 Html.ValidationMessageFor 和 onsubmit 时,

其执行顺序是 onclick-if(true)-{$("form").submit()-validate-onsubmit-post}

 

问题:这个时候如果验证不通过,WaitFor 将覆盖在上面,无法编辑。

 

则要对AskContinue作以下修改:

 

if($("form").valid()){

             $("form").submit();

}

其执行顺序是 onclick-if(true)-{validate-if(true)-{$("form").submit()-onsubmit-post}}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM