Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在提交表单时拦截数据验证失败_Jquery_Asp.net Mvc_Form Submit_Validation - Fatal编程技术网

Jquery 在提交表单时拦截数据验证失败

Jquery 在提交表单时拦截数据验证失败,jquery,asp.net-mvc,form-submit,validation,Jquery,Asp.net Mvc,Form Submit,Validation,我正在用ASP.NET MVC 3编写一个表单(但在其他环境中情况可能类似)。 在提交表单时,我想禁用页面,因为服务器处理有点长,所以我想避免用户在按钮上单击两次。 我使用blockUI插件功能,如: <script type="text/javascript"> jQuery(document).ready(function () { $('#AddUserForm').submit(function () { $.blockUI()

我正在用ASP.NET MVC 3编写一个表单(但在其他环境中情况可能类似)。 在提交表单时,我想禁用页面,因为服务器处理有点长,所以我想避免用户在按钮上单击两次。 我使用blockUI插件功能,如:

<script type="text/javascript">
    jQuery(document).ready(function () {
        $('#AddUserForm').submit(function () {
            $.blockUI();
        });
    });
</script>

jQuery(文档).ready(函数(){
$('#AddUserForm')。提交(函数(){
$.blockUI();
});
});
我不担心取消对UI的阻塞,因为我的表单提交会生成一个新的页面加载,所以事情从一开始就开始了。 问题是我的表单使用了数据验证属性,如中所示

<input class="text-box single-line" data-val="true" data-val-required="The UserName field is required." id="UserName" name="UserName" type="text" value="" />

因此,如果字段未正确验证,则提交表单(执行我的代码,阻止UI),但页面甚至没有重新加载,因此我完全被阻止

有人知道在这种情况下,是否有一个事件需要拦截,或者有一个有用的替代方案吗? 提前谢谢。 Andrea Bioli

看看这个方法


jQuery(文档).ready(函数(){
$('#AddUserForm')。提交(函数(事件){
event.preventDefault();
$.blockUI();
});
});

使用mvc3,在web.config中启用ClientValidationEnabled且不引人注目的JavaScriptEnabled,您只需在提交时使用即可:

if($((“form:first”).valid(){$.blockUI({message:'Un instant svp…');}


不,我只想做相反的事!:-)我希望在最终提交(或仅客户端验证)完成时收到一个事件或类似事件!
<script type="text/javascript">
    jQuery(document).ready(function () {
        $('#AddUserForm').submit(function (event) {
            event.preventDefault();
            $.blockUI();
        });
    });
</script>