2013-10-28 111 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類,您也可以使用它。