我正在创建一个使用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;"> <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未定义。请建议我解决方案。
答案 0 :(得分:0)
在jQuery选择器中使用ID时,应使用“#”进行预先修复。尝试将行更改为如下所示:
a=validateEmail($('#<%=tbEmail.ClientID%>'));
这应该让它发挥作用。