Parsley.js在Safari中的奇怪行为

时间:2013-02-16 11:11:59

标签: javascript safari mobile-safari parsley.js

所以我们正在使用parsley.js。问题是,我认为它不适用于Safari浏览器。

第一个错误: 我有input,你只能输入数字。它看起来像这样:

input#mtlbeitrag.pull-right(data-type="number", name="vb", value="#{calc.vb}", required="required", min="0")

当我现在输入“1000”时,欧芹所做的就是将该数字设为“1.000”。 显然这是一个问题,因为我们正在将该数字解析为整数。所以你的算法解析“1.000”,它应该是“1000”到“1.0”。

第二个错误: 欧芹忽略了require标签。不仅弹出消息不起作用而且仅显示为列表元素。不,它还允许用户提交错误输入的表单。 On Safari On Chrome

我的问题是: 这些众所周知的错误或我们刚刚实施的错误方法是什么? 任何人都可以通过safari确认这个错误吗?

在Google Chrome上,没有出现这些错误。

此外,还有一个更好的跨浏览器库可以做同样的事情吗?

PS:当我在Safari上执行此操作test时,没有任何反应。

1 个答案:

答案 0 :(得分:3)

您是否可能使用HTML5表单验证并忘记将novalidate添加到封闭表单标记中? 如果找不到novalidate,那么HTML5表单验证将接管并覆盖任何欧芹会做的...

我相信后备,所以我把它包括在内:

$("form.js-validate").attr("novalidate","novalidate").parsley();
                       ^

这样如果由于某种原因没有加载JS,HTML5验证将成为后备。 (请注意,在这种情况下,您必须从表单中删除data-validate="parsley",或者只是在加载时使用$("form.js-validate").attr("novalidate","novalidate")

仅供参考:Safari失败的原因是因为其HTML5验证是“滞后”的。

老问题,但也许有些胡子的网络旅行者会得到帮助