我在webform中使用ASP.NET和jQuery时遇到了问题。
目前我有一个使用ASP.NET客户端验证的多div注册,但我也希望它让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验证吗?
答案 0 :(得分:1)
好吧,看起来我刚刚找到答案。这将适用于ValidationGroup“UserInformation”
if (Page_ClientValidate("UserInformation")) {
$("[id$=registration_div]").hide('slide', { direction: 'left' }, 1000);
$("[id$=pick_user_type]").show('slide', { direction: 'right' }, 1000);
}
答案 1 :(得分:0)
您可以强制对控件进行验证并更新其显示,如下所示:
ValidatorValidate($('<%= myValidator.ClientID %>'));
阅读ASP.NET Validation in Depth以获取有关客户端API和客户端对象的更多信息。
答案 2 :(得分:0)
使用valid()函数。
if($("#form_id").valid())
{
$("[id$=registration_div]").hide('slide', { direction: 'left' }, 1000);
$("[id$=pick_user_type]").show('slide', { direction: 'right' }, 1000);
}