我正在使用asp.net。我有一个登录表单。我在页面中为此编写了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;
}
答案 0 :(得分:1)
如果您已经编写了java-script
代码,那么请确保js代码中的return false
如果无效,并且在aspx文件中需要使用return,如下所示
<asp:Button runat="server" id="btnLogin" Text="Login"
OnClientClick="return Validate()"/>
您的按钮可能不是默认按钮,因此当您按下回车按钮时页面会刷新。对于此使用代码
<asp:Panel ID="p" runat="server" DefaultButton="myButton">
<%-- Text boxes here --%>
<asp:Button ID="myButton" runat="server" />
</asp:Panel>
一些有用的链接
答案 1 :(得分:1)
您想要在用户点击输入并且焦点位于文本框中时验证文本框的值,然后使用以下代码:
<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();
}
});
这就是全部
答案 2 :(得分:0)
您需要为按钮添加一个属性(btnLogin)OnClientClick="Validate()"
。
像:
<asp:Button runat="server" id="btnLogin" Text="Login"
OnClientClick="Validate()"/>
定义javascript函数Validate()
,如果表单值无效,则返回false。
答案 3 :(得分:0)
我会在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;
});
});