当控件具有runat = server时,jquery代码在IE11中不起作用

时间:2015-07-30 12:45:39

标签: jquery

我正在创建一个使用jquery的asp.net应用程序。我的应用程序在chrome中完美运行,但在IE中却没有。

 <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
        <meta name="description" content="" />
        <meta name="author" content="" />
        <link rel="icon" href="assets/img/favicon.ico" />
        <title>Login | Palle University</title>
        <link href="assets/css/bootstrap.css" rel="stylesheet" />
        <link href="assets/css/ionicons.css" rel="stylesheet" />
        <link href="assets/css/font-awesome.css" rel="stylesheet" />
        <link href="assets/css/style.css" rel="stylesheet" />
        <script src="assets/js/jquery-1.11.1.js"></script>
        <script type="text/javascript">
            var emailRegex = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
            var isFormDataValid = true;
            function validateLogin()
            {
                a=validateEmail($('<%=tbEmail.ClientID%>'));
                b=validatePassword($(tbPwd));
                if (a && b)
                    return true;
                else
                    return false;
            }

并通过单击按钮调用validateLogin()函数。

html代码的部分如下。

<div class="col-lg-4 col-md-4 col-sm-12 col-xs-12 ">
                                <div class="form-group">
                                    <label class="sr-only" for="lblEmail">Email address</label>
                                    <input type="email" runat="server" class="form-control" id="tbEmail" placeholder="Enter email">
                                </div>
                                <div class="form-group">
                                    <label class="sr-only" for="lblPwd">Password</label>
                                    <input type="password" runat="server" class="form-control" id="tbPwd" placeholder="Password">
                                </div>

                                  <label style="display: block;padding-left: 15px;">&nbsp;&nbsp;<input id="checkid" type="checkbox"/>Remember Me</label>

                                <asp:Button runat="server" OnClick="btnSignIn_Click" OnClientClick="return validateLogin()" Text="SIGN IN" CssClass="btn btn-primary btn-md btn-block"></asp:Button>
                                Forgot Password?<a href="#ReceivePassword" data-toggle="pill">click here</a><br />
                                To change your Password?<a href="#ChangePassword" data-toggle="pill">click here</a>
                                <div id="errmsg2" class="btn-danger" runat="server">

                            </div>

当我在IE中执行代码时,它显示一条消息,指出tbEmail未定义。请建议我解决方案。

1 个答案:

答案 0 :(得分:0)

在jQuery选择器中使用ID时,应使用“#”进行预先修复。尝试将行更改为如下所示:

a=validateEmail($('#<%=tbEmail.ClientID%>'));

这应该让它发挥作用。