1

我在我的网络表单中同时使用 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沟通吗?根据我的阅读,Page.Validate()如果您有一个无效的字段,ASP.NET 验证器将导致该方法返回 false。我是否将不得不转向 jQuery 验证?

4

3 回答 3

1

好吧,看来我刚刚找到了答案。这将适用于 ValidationGroup “UserInformation”

if (Page_ClientValidate("UserInformation")) {
    $("[id$=registration_div]").hide('slide', { direction: 'left' }, 1000);
    $("[id$=pick_user_type]").show('slide', { direction: 'right' }, 1000);
}
于 2013-08-28T01:44:01.987 回答
0

您可以强制验证控件并更新其显示,如下所示:

ValidatorValidate($('<%= myValidator.ClientID %>'));

阅读ASP.NET 深度验证,了解有关客户端 API 和客户端对象的更多信息。

于 2013-08-28T01:47:18.787 回答
0

使用有效()函数。

if($("#form_id").valid()) 
{
  $("[id$=registration_div]").hide('slide', { direction: 'left' }, 1000);
  $("[id$=pick_user_type]").show('slide', { direction: 'right' }, 1000);
}
于 2013-08-30T10:27:32.687 回答