ASP.NET Imagebutton在ValidationGroup验证后执行jQuery函数
本文关键字:执行 jQuery 函数 验证 ValidationGroup NET Imagebutton ASP | 更新日期: 2023-09-27 18:29:26
我在Web表单中同时使用ASP.NET和jQuery时遇到问题。
目前,我有一个多div注册,它使用ASP.NET客户端验证,但我也希望它有jQuery动画来从一个步骤移动到另一个步骤。
<asp:ImageButton ID="NextButton" runat="server" ImageUrl="images/registration/arrowright.png" Height="50px" onmouseover="this.src='images/registration/arrowrightgreen.png'" onmouseout="this.src='images/registration/arrowright.png'" ValidationGroup="UserInformation" OnClientClick="onNextClick()"/>
我还有一个jQuery函数,它将转到注册的下一步。
<script type="text/javascript">
$(document).ready(function () {
$("[id$=pick_user_type]").hide();
});
function onNextClick() {
$("[id$=registration_div]").hide('slide', { direction: 'left' }, 1000);
$("[id$=pick_user_type]").show('slide', { direction: 'right' }, 1000);
}
</script>
问题是,即使表单无效,jQuery也会继续执行并制作动画。我是否可以通过其他方式与jQuery通信?根据我所读到的内容,如果您有一个无效字段,ASP.NET验证器将导致Page.Validate()
方法返回false。我是否必须直接转到jQuery验证?
看起来我刚刚找到了答案。这将适用于验证组"用户信息"
if (Page_ClientValidate("UserInformation")) {
$("[id$=registration_div]").hide('slide', { direction: 'left' }, 1000);
$("[id$=pick_user_type]").show('slide', { direction: 'right' }, 1000);
}
您可以强制验证控件并更新其显示,如下所示:
ValidatorValidate($('<%= myValidator.ClientID %>'));
有关客户端API和客户端对象的详细信息,请阅读ASP.NET验证的深度。
使用valid()函数。
if($("#form_id").valid())
{
$("[id$=registration_div]").hide('slide', { direction: 'left' }, 1000);
$("[id$=pick_user_type]").show('slide', { direction: 'right' }, 1000);
}