我已经动态创建了文本框,它继续添加按钮单击,这工作正常,但现在我想验证每个动态创建的文本框应该只接受数字数据作为输入。
我怎样才能做到这一点?我没有使用 jQuery 来动态创建文本框,而是在 asp.net 中使用了 C#。
我已经动态创建了文本框,它继续添加按钮单击,这工作正常,但现在我想验证每个动态创建的文本框应该只接受数字数据作为输入。
我怎样才能做到这一点?我没有使用 jQuery 来动态创建文本框,而是在 asp.net 中使用了 C#。
你可以使用 CompareValidator
,
将用户在输入控件中输入的值与在另一个输入控件中输入的值或与常数值进行比较。
<asp:TextBox ID="TextBox1" runat="server />
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TextBox1" Type="Integer"
Operator="DataTypeCheck" ErrorMessage="Wrong value. Value must be an integer!" />
作为替代方案,您可以使用RegularExpressionValidator
with"\d+"
模式。
在动态创建的文本框中添加一个类,请参阅代码
<asp:TextBox ID="TextBox1" runat="server CssClass="numeric" />
客户端代码
<script type="text/javascript">
$(document).ready(function () {
$('.numeric').keyup(function () {
this.value = this.value.replace(/[^0-9\.]/g, '');
});
});
</script>
您动态添加多少个文本框将起作用
您可以将规则添加到通配符选择器匹配的每个项目中.each()
,如下所示:
$("#SubmitForm").validate();
$("input[id*=Hours]").each(function() {
$(this).rules("add", {
number: true,
messages: {
number: "Please enter a valid Hours"
}
});
});