ASP.NET 使用LinkButton做登录按钮时,回车无法提交解决方案
2017-08-16 20:16
811 查看
//LinkButton属于A标签,必须获取焦点后,才可以使用$("#<%=this.lbtnLogin.ClientID %>").click(); //解决方法:直接触发LinkButton的回发事件 javascript: __doPostBack('lbtnLogin', '');
<asp:TextBox ID="txtLoginName" CssClass="txt" runat="server" TabIndex="1" placeholder="用户名"></asp:TextBox> <asp:TextBox ID="txtPassword" CssClass="txt" TextMode="Password" runat="server" TabIndex="2" placeholder="密码"></asp:TextBox> <asp:LinkButton ID="lbtnLogin" ValidationGroup="Login" runat="server" Width="173" Height="42" OnClientClick="return valid()" OnClick="lbtnLogin_Click">登 录</asp:LinkButton>
<script type="text/javascript"> function valid() { var loginname = $("#<%=this.txtLoginName.ClientID %>").val().replace("用户名", ""); var loginpassword = $("#<%=this.txtPassword.ClientID %>").val().replace("密码", ""); if (loginname == "" || loginpassword == "") { if (loginname == "" && loginpassword == "") { $("#<%=this.validMessage.ClientID %>").text("请输入用户名和密码!"); $("#<%=this.txtLoginName.ClientID %>").focus(); } else if (loginname == "") { $("#<%=this.validMessage.ClientID %>").text("请填写用户名!"); $("#<%=this.validMessage.ClientID %>").text("请输入用户名和密码!"); } else { $("#<%=this.validMessage.ClientID %>").text("请输入密码!"); $("#<%=this.txtPassword.ClientID %>").focus(); } $("#<%=this.validSummary.ClientID %>").show(); return false; } else { return true; } } $(function() { $("#<%=this.txtLoginName.ClientID %>").keyup(function(event) {//选择已有账号密码登录回车事件为keydown,防止事件冲突,提交登录使用keyup事件 var e = event || window.event || arguments.callee.caller.arguments[0]; if (e && e.keyCode == 13) {//登录框、回车事件 var loginpassword = $("#<%=this.txtPassword.ClientID %>").val().replace("密码", ""); if (loginpassword == "") { $("#<%=this.txtPassword.ClientID %>").focus();//回车,检测密码未填写,则定焦到密码框 return; } if (valid()) {//表单验证通过,提交登录 javascript: __doPostBack('lbtnLogin', ''); //LinkButton属于A标签,必须获取焦点后,才可以使用$("#<%=this.lbtnLogin.ClientID %>").click(); //解决方法:直接触发LinkButton的回发事件 } } }); $("#<%=this.txtPassword.ClientID %>").keyup(function(event) {//选择已有账号密码登录回车事件为keydown,防止事件冲突,提交登录使用keyup事件 var e = event || window.event || arguments.callee.caller.arguments[0]; if (e && e.keyCode == 13) {//密码框、回车事件 if (valid()) {//表单验证通过 javascript: __doPostBack('lbtnLogin', '');//提交登录 } } }); }); </script>
相关文章推荐
- VS2010使用.net 4.0中的ASP.NET MVC 2 模板建立工程后无法提交HTML代码解决方案一则
- VS2010使用.net 4.0中的ASP.NET MVC 2 模板建立工程后无法提交HTML代码解决方案一则
- VS2010使用.net 4.0中的ASP.NET MVC 2 模板建立工程后无法提交HTML代码解决方案一则
- ASP.NET无法使用sa用户登录数据库原因及解决方案
- VS2010使用.net 4.0中的ASP.NET MVC 2 模板建立工程后无法提交HTML代码解决方案一则
- 关于使用Asp.net导出Excel,遭遇“LinkButton必须放在一个具有runat=server的标签的Form”的解决方案。
- 解决 ASP.NET 中文本框上按回车时系统缺省提交按钮的问题
- asp.net里有多个按钮的提交问题。以及回车触发指定按钮事件的问题。
- Asp.net Mvc中MVCContrib中无法使用Castle的发解决方案
- [控件使用]ASP.net 回车不响应的解决方案
- ASP.NET中使用JQuery UI Dialog致表单无法提交的解决方法
- 解决 ASP.NET 中文本框上按回车时系统缺省提交按钮的问题
- 在ASP.NET下使用jQuery UI Dialog 无法提交问题
- asp.net中回车提交表单的处理方法 (多按钮处理) [转]
- asp.net中如何回车触发指定按钮的事件(实现按回车提交)
- 关于asp.net网站发布后,使用登录控件和注册控件时出现“数据库只读,无法进行数据更新”的解决方法
- Asp.net回车默认按钮事件解决方案
- Asp.net Mvc中MVCContrib中无法使用Castle的解决方案
- 使用jQuery的validation后,无法引发asp.net按钮的事件处理程序
- ASP.NET使用URL重写导致回车时默认按钮不起作用