使用javascript / jquery检测Asp.Net表单是否有效

我有一个在updatePanel中的表单,我有一个隐藏加载图像的跨度,我想在用户点击提交按钮时显示,但我首先需要检查页面在客户端是否有效。 此外,我正在使用jQuery显示加载范围。 这是我的代码:

    function showLoading() { $('#loader').show(); }                
Your message is sent

好的,我找到了解决方案。 Page_ClientValidate()可以解决问题。

 function showLoading() { if (Page_ClientValidate()) { $("#loader").show(); } else { alert("Form is invalid!"); } } 

我认为最好使用属性Page_IsValid而不是方法Page_ClientValidate()。

 function showLoading() { if (Page_IsValid) { $("#loader").show(); } else { alert("Form is invalid!"); } } 

如果您不想调用Page_ClientValidate(),可以使用Page_IsValid但设置超时,以便首先进行validation。

 OnClientClick="javascript:setTimeout(function() { if (Page_IsValid) document.getElementById('preloader').style.display='block';}, 1000);" 

预加载器隐藏在中间

谢谢哈桑,你让我的一天:)

我想分享一下我的问题和解决方案。 我有一个使用MasterPage的ASP.NEt页面。 提交表单时,我使用了fadeOut效果来隐藏按钮。 但是,如果表单没有完成,按钮就会消失。 我只是在OP问题上添加了一个关于hasan建议的条件。 这是我的最终代码。

 //Fade out buttons when clicked but only if page validate $('.button').click(function () { if (Page_ClientValidate()) { $('.button').fadeOut('slow'); } });//End of Fade out buttons 

再次感谢哈桑:)