【发布时间】:2011-09-13 02:10:59
【问题描述】:
我有一个封装地址的地址用户控件。具有您期望的常用地址字段。当使用 Safari 的用户访问该网站时,我一直收到错误消息,因为 Safari 的自动填充功能似乎完全被破坏了。
这是(几乎)实际向服务器发布数据的示例:
VictimAddressPanel$Address$CityNameItem$txtCityName 假街123号
VictimAddressPanel$Address$ZipCodeItem$txtZipCode 假街123号
似乎是因为外部容器中包含“地址”一词,所以 Safari 会运行 OH!!!!哦!!!那是街道地址。因此,它会在每个地址字段中填充用户的街道地址,包括邮政编码。现在,我还指定了 AutoComplete 的 ASP.NET 文本框属性并将其设置为“已禁用”,这应该告诉浏览器,嘿,笨蛋,甚至不要尝试填写此字段。 Safari 会忽略它。最后,为了真正雪上加霜,Safari 还忽略了文本框的 maxlength 属性。即使您说某个字段的最大长度为 2,如果您的自动完成信息中有 100 个字符,Safari 也会很高兴地用 100 个字符填充该字段。可以想象,由于字段长度太长,这会导致引发数据库异常。有没有人见过这个?有什么解决方法吗?
【问题讨论】:
-
有没有运气弄清楚如何防止 Safari 忽略最大长度?