2013-10-28 112 views
0

这是我的问题我创建了一个文本框来检查美国手机号码和JS中只检查数字的函数。问题是我输入错误的数字后,我想清除文本框中的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

刚刚成立this.value=''的功能来清除它的价值。

或在您的情况sender.set_value('')也应努力

+0

对不起,但如果我粘贴你在这行之后写的东西args.set_cancel(true); 它不会在Firefox上工作,为什么?当我点击键盘上的星星时,它删除了一切,为什么? – user2864889

0

如果你有机会到jQuery的,你可以使用$('#txtPhone').val('');来清除文本框。这也有助于解决跨浏览器的不一致问题。

这是假设实际输入元素的ID是txtPhone而不是webforms生成的损坏的ID。如果我的内存服务正确,则RadTextBox控件具有一个属性,它允许您为渲染的输入字段设置一个CSS类,您也可以使用它。