IE10文本框上的maxlength和占位符验证错误



我有一个年龄文本框:

<input type="text" id="txtAge" name="txtAge" class="text" placeholder="Age (optional)" maxlength="2">

单击提交后,该输入立即以红色镶边显示。没有回发。我假设IE10认为客户端实际上已经输入了大于2的maxlength的"年龄(可选)"。

有没有办法绕过这个,而不让用户在浏览器的设置中做任何事情,而不删除maxlength属性?

可以使用novalidateformnovalidate属性。查看此链接获取更多信息

使用JavaScript的Internet Explorer 10和Windows Store应用程序增加了对HTML5 Forms的新支持,包括type属性(在input元素上)的新状态、input元素的新属性和progress元素。这种支持使开发人员能够用最少的脚本快速、轻松地提供用户提示、输入验证和反馈。

来源:http://msdn.microsoft.com/en-us/library/ie/hh673544 (v = vs.85) . aspx

我也遇到过同样的问题。

在这种情况下,你应该改变你的最大长度为10,这样它就不会是最大长度的问题,并设置你想要的文本框使用javascript的最大长度,像下面的

function setMaxLength(obj, len) {
return (obj.value.length < len);
}

并像下面这样调用这个函数

<input type="text" id="txtAge" name="txtAge" class="text" placeholder="Age (optional)" maxlength="10" onkeypress="return setMaxLength(this,2);">

我有同样的问题,在我的情况下,它是一个GUID字段,这是隐藏的,因为我不需要让它显示在屏幕上。我有display:none和maxlength=0。然而,IE正在执行验证,回发失败,我不知道为什么。我花了半天的时间才算出来,解决方案是设置maxlength=36

相关内容

  • 没有找到相关文章

最新更新