2011-07-20 10 views
1

我們正在開發一個常規的asp.net網站(沒有Textviews),對於我需要文本框默認打開數字鍵盤的文本框之一,一個方法來實現這一點?默認情況下選擇數字鍵盤的Android手機中的Asp.net文本框

下面的代碼完美適用於iPhone/iPad,但不會默認爲Android的數字鍵盤。

<asp:TextBox runat="server" type="number" pattern="\d*" onKeypress="if(event.keyCode < 48 || event.keyCode > 57){return false;}" /> 

的Adroid版本:2.2.1

編輯: 當我使用類型爲 「數字」 的HTML輸入框,它完美的作品。我需要一種方法來使用asp.Net文本框並查看數字鍵盤。

+0

type =「number」應該工作:http://slides.html5rocks.com/#form-types-mobile –

+0

它確實工作,但不是與相反,我必須將其轉換爲HTML輸入框,任何想法? –

回答

2

這裏是我的解決方案:

<div style="display:none"><asp:TextBox ID="txt_Phone" runat="server" /></div> 
<input onblur="document.getElementById('<%=txt_Phone.ClientID %>').value = this.value" type="tel" /> 

享受:)

0

這裏有一個稍微更優雅的方式:

PhoneBox.Attributes.Add("type", "tel"); 

這種方式只有一個輸入控件,它不弄糟客戶端驗證。此外,它可以很容易地將這個屬性分配給多個控件(我只是將一個「鍵盤」類添加到我希望應用到的控件中,然後使用遞歸控件搜索方法來查找它們並添加屬性)。

相關問題