Jquery 在提交表单时拦截数据验证失败
我正在用ASP.NET MVC 3编写一个表单(但在其他环境中情况可能类似)。 在提交表单时,我想禁用页面,因为服务器处理有点长,所以我想避免用户在按钮上单击两次。 我使用blockUI插件功能,如: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()
<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>