asp.net JavaScript 验证问题
asp.net javascript validation issue
我正在使用 asp.net。我有一个登录表单。我已经在Page中为此编写了Javascript验证函数。
<table>
<tr>
<td>Username:></td>
<td><asp:TextBox runat="server" id="txtUsername"/></td>
<td>Password:></td>
<td><asp:TextBox runat="server" id="txtPassword"/></td>
<td>Username:></td>
<td><asp:Button runat="server" id="btnLogin" Text="Login" onclientclick="return Validatecp()"/></td>
</tr>
</table>
当我专注于文本框并按回车键时,整个页面正在重新加载。我想在按下输入按钮时显示验证。这可能吗?
编辑:
验证功能:
function Validatecp() {
var name = document.getElementById('<%=txtName.ClientID %>').value;
var password= document.getElementById('<%=txtTo.ClientID %>').value;
if (name == "") {
document.getElementById("td1").innerHTML = "Name Required.";
return false;
}
else {
document.getElementById("td1").innerHTML = "";
}
if (password== "") {
document.getElementById("td2").innerHTML = "password Required.";
return false;
}
else {
document.getElementById("td2").innerHTML = "";
}
return true;
}
您希望在
用户单击 Enter 并且焦点位于文本框中时验证文本框的值,然后使用以下代码:
<table>
<tr>
<td>
Username:>
</td>
<td>
<asp:TextBox CssClass="save" runat="server" ID="txtUsername" />
</td>
<td>
Password:>
</td>
<td>
<asp:TextBox CssClass="save" runat="server" ID="txtPassword" />
</td>
<td>
Username:>
</td>
<td>
<asp:Button CssClass="save" runat="server" ID="btnLogin" Text="Login" />
</td>
</tr>
</table>
<asp:Button ID="submit" runat="server" Text="submit" />
和jquery代码:
<script type="text/javascript">
$('.save').live('keydown', function (event) {
if (event.keyCode == '13') {
alert('heee');
return false;
event.preventDefault();
}
});
</script>
或者,如果您想验证输入按钮上的控件,请单击仅使用以下代码:
<asp:Panel ID="pnl" runat="server" DefaultButton="submit">
<table>
<tr>
<td>
Username:>
</td>
<td>
<asp:TextBox CssClass="save" runat="server" ID="txtUsername" />
</td>
<td>
Password:>
</td>
<td>
<asp:TextBox CssClass="save" runat="server" ID="txtPassword" />
</td>
<td>
Username:>
</td>
<td>
<asp:Button CssClass="save" runat="server" ID="btnLogin" Text="Login" />
</td>
</tr>
</table>
<asp:Button ID="submit" runat="server" Text="submit" />
</asp:Panel>
而jquery代码是:
$('[id$=submit]').click(function (event) {
if (event.keyCode == '13') {
alert('heee');
return false;
event.preventDefault();
}
});
就这样
如果您已经编写了java-script
代码,请确保从 js 代码中return false
,如果它无效,并且在 aspx 文件中您需要使用 return 如下所示
<asp:Button runat="server" id="btnLogin" Text="Login"
OnClientClick="return Validate()"/>
编辑 -1
您的按钮可能不是默认按钮,因此当您按 Enter 按钮时页面会刷新。为此,请使用下面的代码
<asp:Panel ID="p" runat="server" DefaultButton="myButton">
<%-- Text boxes here --%>
<asp:Button ID="myButton" runat="server" />
</asp:Panel>
一些有用的链接
- http://www.hanselman.com/blog/ASPNETHowToCreateADefaultEnterButtonForFormsPostBacks.aspx
- 如何在某个按钮上设置默认的"Enter"
您需要
添加一个属性到按钮(btnLogin)OnClientClick="Validate()"
。
喜欢:
<asp:Button runat="server" id="btnLogin" Text="Login"
OnClientClick="Validate()"/>
定义 javascript 函数Validate()
,如果您的表单值无效,则返回 false。
我会在Jquery中这样做。
//set this so that Jquery selector can get your button
<asp:Button runat="server" id="btnLogin" Text="Login" ClientIDMode="Static" />
jquery
$(function) () {
$('#btnLogin').click(e) {
Your javascript code here
//put those if you don't want your page reloading
e.preventDefault();
return false;
});
});
相关文章:
- javascript中添加验证电子邮件的问题
- Javascript验证问题
- CRM身份验证问题
- 获取json结果的身份验证问题
- 关于验证和语义标记的一些基本HTML5问题
- 为密码验证实现正则表达式时出现问题
- JS表单验证问题
- 在 mongodb 和 expressjs 中验证事物的问题
- 如何在窗体中使用多个按钮解决验证问题
- 带有jquery验证问题的php表单
- jQuery表单验证和提交问题
- Javascript if语句问题,以及如何在jquery中验证颜色
- jQuery表单验证插件's只有文字字段的问题
- 在Internet Explorer 11中使用SoundCloud进行身份验证时出现问题
- Jquery表单验证脚本问题
- Google UiApp中的Google Apps脚本验证问题
- 小数、逗号和客户端验证的问题
- 使用 jQuery 问题验证和提交表单
- 自定义jQuery的问题.验证器规则
- 使用jquery有问题.验证器和格式散列一起工作