这是我的问题我创建了一个文本框来检查美国手机号码以及JS中仅检查号码的功能。问题是在输入错误的数字后我想清除文本框,JS中的函数不会让我。
这是我的代码:
function NumbersOnly(sender, args) {
var text = sender.get_value() + args.get_keyCharacter();
if (!text.match('^[0-9]+$') && text != '\b' && text != '(' && text != ')' && text != '-') {
args.set_cancel(true);
}
}
细胞:
</td>
<td style="text-align: left">
<telerik:RadTextBox ID="txtPhone" runat="server" MaxLength="25" Width="200px"><ClientEvents OnKeyPress="NumbersOnly"></ClientEvents></telerik:RadTextBox>
<asp:RegularExpressionValidator runat="server" ID="revPhone"
ControlToValidate="txtPhone"
Display="None"
ValidationExpression="^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$"
ValidationGroup="validateEditUser"
EnableClientScript="false"
ErrorMessage="- Please enter a valid phone number:(ex.) <b>(xxx-xxx-xxxx)</b></br>" />
</tr>
由于
答案 0 :(得分:0)
只需设置this.value=''
即可在函数中清除其值。
或在您的情况下sender.set_value('')
也应该正常工作
答案 1 :(得分:0)
如果您有权访问jQuery,则可以使用$('#txtPhone').val('');
清除文本框。这也有助于解决任何跨浏览器的不一致问题。
假设实际输入元素的ID是 txtPhone ,而不是webforms生成的错位ID。如果我的内存服务正确,则RadTextBox控件具有 CssClass 属性,该属性允许您为渲染的输入字段设置CSS类,您也可以使用它。