В нашем веб-приложении мы используем числовое текстовое поле, которое выглядит следующим образом:
public class NumericTextBox : System.Web.UI.WebControls.TextBox
{
class IgnoreTypeWriter : HtmlTextWriter
{
private HtmlTextWriter writer;
public IgnoreTypeWriter(HtmlTextWriter writer)
: base(writer)
{
this.writer = writer;
}
public override void AddAttribute(HtmlTextWriterAttribute attribute,
string value)
{
if (attribute != HtmlTextWriterAttribute.Type)
{
writer.AddAttribute(attribute, value);
}
}
};
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
IgnoreTypeWriter ignoreTypeWriter = new IgnoreTypeWriter(writer);
base.AddAttributesToRender(ignoreTypeWriter);
writer.AddAttribute(HtmlTextWriterAttribute.Type, "number");
}
}
Когда я открываю сайт через компьютер, я не могу ввести более 10 символов в текстовое поле. Однако на моем iPod (iOS5) я могу продолжать входить вечно. На другом iPhone (iOS4) все работает также хорошо. Я не уверен, что случилось с iOS5!
Разметка выглядит так:
<NumericTextBox ID="txtTransferAmountDetails" runat="server"
CssClass="currency font15" MaxLength="10" />