我遇到了表单字段中布尔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"]')
,Webkit将返回所有必填字段,但是当它通过Gecko运行时,它不会返回必需的字段。
我在这里做错了什么?最后,我检查了输入属性只是required
,而required="required"
和required="true"
都没有。
有没有更好的方法使用javascript / jQuery检测所有必需的字段?
答案 0 :(得分:4)
这可能是一个糟糕的解决方法,但是你尝试了多个选择器吗?
$(':input[required=""],:input[required]')
答案 1 :(得分:3)
你走了。这将输出一个包含所有必填字段的数组。
<input value="" type="email" name="email" id="email" required/>
<input value="" type="email" name="email1" id="email1" required/>
<input value="" type="email" name="email2" id="email2"/>
<script type="text/javascript">
var x = $('input[required]').get();
console.log(x); // x will contain an array of required inputs [input#email, input#email1]
</script>
答案 2 :(得分:0)
使用bootstrap 3,你可以这样做:
$('input[required]')
.closest(".form-group")
.children("label")
.append(" <i class='fa fa-asterisk'></i>");