我在asp.net中有一个文本框和按钮,如
<tr>
<td style="width: 100px">
<asp:Label ID="lbltime" runat="server" Text="Enter Time"></asp:Label>
</td>
<td style="width: 100px">
<asp:TextBox ID="Txttime" onkeypress="return isNumberKey(event)" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 100px" align="center">
<asp:Button ID="Btntime" runat="server" Text="Button" />
</td>
</tr>
现在我想编写JavaScript代码以在我的文本框上进行验证,当我点击按钮时,该代码可以正常工作。 现在我想知道如何在按钮中调用JavaScript的功能 该功能应该像是一样工作 按钮应该发送文本框值到函数和函数应该只检查值为整数。如果没有找到,则应在对话框中给出错误消息“请输入整数值”。
我正在尝试这样的JavaScript:
function isNumberKey(textboxvalue)
{
evt=textboxvalue.text;
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
textboxvalue.text="Enter in Integer Only";
return false;
return true;
}
答案 0 :(得分:2)
ASP.NET具有内置的验证控件,可以处理这样的事情:
http://msdn.microsoft.com/en-us/library/aa479013.aspx
此外,请确保您不仅仅依赖客户端验证 - 检查服务器端的整数,如果不是整数则拒绝输入。
答案 1 :(得分:1)
使用&lt; asp:CustomValidator /&gt;对此。
<asp:CustomValidator id="CustomValidator1"
ControlToValidate="myTextbox"
ErrorMessage="Enter Integer only!"
OnServerValidate="ServerValidation"
OnClientValidate="isNumberKey"
runat="server"/>
您的验证功能如下所示:
function isNumberKey(oSrc, args) {
{
evt=textboxvalue.text;
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
args.isValid = false;
args.IsValid = true;
}
如果您只想检查数据类型,可以使用CompareValidator:
<asp:CompareValidator id="CompareValidator1"
runat="server" ErrorMessage="Enter Integer only!" Operator="DataTypeCheck"
ControlToValidate="Txttime" Type="Integer" />
如果JavaScript可用且服务器端验证器在客户端检查。将为您生成所有JavaScript。 在服务器上,您始终必须检查您的页面是否有效:
protected void OnButtonClick(object sender, EventArgs e)
{
if (Page.IsValid)
{
... // do your work on the server
}
}
答案 2 :(得分:1)
你不能像var control = $("#<%= txtMyControl.ClientID %>"); return control;
一样使用
??然后做标准验证??