如何跨浏览器检测带有“必需”的输入字段? jQuery 中的属性?
我在表单字段上的布尔 required
属性上遇到了一个轻微的验证问题。
我正在这样标记我的字段:
<label for="email">Email Address:</label>
<input value="" type="email" name="email" id="email" required />
但是由于检测问题,尝试使用 jQuery 查找所有必需字段并将它们添加到数组中似乎存在问题。
以下仅适用于 Firefox (Gecko) $(':input[required=""]')
但在 Webkit(Safari、Chrome)中不返回任何内容。
另一方面,如果我运行 $(':input[required]')
或 $(':input[required="true"]'),但是当它通过 Gecko 运行时,它不会返回所需的字段。
我在这里做错了什么?最后我检查了输入属性只是 required
而不是 required="required"
也不是 required="true"
。
有没有更好的方法使用 javascript/jQuery 检测所有必填字段?
I am running into a slight validation issue with the Boolean required
attribute on form fields.
I am marking up my fields as such:
<label for="email">Email Address:</label>
<input value="" type="email" name="email" id="email" required />
But trying to find all required fields using jQuery and adding them to an array seems problematic due to detection issues.
The following only works in Firefox (Gecko) $(':input[required=""]')
but returns nothing in Webkit (Safari, Chrome).
Webkit on the other hand return all required fields if I run $(':input[required]')
or $(':input[required="true"]')
, but when this runs through Gecko it doesn't return the required fields.
What am I doing wrong here? Last I checked the input attribute was simply required
and neither required="required"
nor required="true"
.
Is there a better way of detecting all the required fields using javascript/jQuery?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这可能是一个糟糕的解决方法,但是您尝试过多重选择器吗?
It may be a bad workaround, but have your tried a multiple selector?
干得好。这将输出一个包含所有必填字段的数组。
Here you go. This will output an array with all required fields.
使用 bootstrap 3,您可以执行以下操作:
with bootstrap 3, you can do: