刚刚偶然发现了jQuery中的奇怪事情,同时编写了一些验证代码 - 我有一个html5“number”字段;jQuery val拒绝从数字字段返回非数字输入(在Chrome中)
<input type="number" class="required numeric" />
然后,我的脚本将查看页面上的每个字段,检查这些类并根据需要进行验证。我奇怪地注意到,如果我在我的一个数字字段中输入'X',我会得到一个“请在此字段中输入值”错误,而不是“这应该是数字”错误。经过一些头部划伤和大量调试之后,我敲了一个jsFiddle来演示我的理论 - 看起来如果你在一个数字字段中输入一个字符,然后尝试从jquery中做一个.val(),它将不会返回任何东西 - 就像字段是空的(我在Chrome浏览器中遇到过这种情况 - 不知道它是否在所有浏览器中都能像这样工作);
http://jsfiddle.net/shawson/SE46L/3/
这里的fiddle-输入一些数字,然后几个字母看crazyness。任何人都知道这是否是设计,如果是这样的话......为什么?
工作在Firefox,必须铬具体,我猜Safari浏览器也因为它呈现“数字”属性相同。 – 2013-05-07 13:58:07
这是多么令人讨厌 - 是的,只是尝试IE10,并与它正常工作! – Shawson 2013-05-07 14:00:50
这不是一个jQuery问题 - 元素本身为非数字输入返回一个空字符串。 – Alnitak 2013-05-07 14:03:33