Текстовое поле Asp.net в телефоне Android с цифровой клавиатурой, выбранной по умолчанию

Мы разрабатываем обычный веб-сайт asp.net (без текстовых представлений), для одного из текстовых полей мне нужно, чтобы текстовое поле открывало цифровую клавиатуру по умолчанию, есть ли способ добиться этого?

Код ниже отлично работает для iPhone/iPad, но не использует цифровую клавиатуру для Android по умолчанию.

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

Версия андроида: 2.2.1

РЕДАКТИРОВАТЬ: Когда я использую поле ввода HTML с type="number", оно работает отлично. Мне нужен способ использовать текстовое поле asp.Net и видеть цифровую клавиатуру.


person Murtaza Mandvi    schedule 20.07.2011    source источник


Ответы (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" />

Наслаждаться :)

person Gil SH    schedule 18.08.2011

Вот немного более элегантный способ:

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

Таким образом, есть только один элемент управления вводом, и он не испортит проверку на стороне клиента. Кроме того, это упрощает назначение этого атрибута нескольким элементам управления (я только что добавил класс «клавиатура» к элементам управления, к которым я хочу применить его, а затем использовал метод рекурсивного поиска элементов управления, чтобы найти их все и добавить атрибут).

person kad81    schedule 22.05.2012