我一直在寻找方法让jQuery自动编写,使用html5验证到我的所有输入字段,但我无法告诉它在哪里写它。
我想接受这个
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150">
并在结束标记
之前自动添加必需 <input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150" required>
我以为我可以按照
的方式做点什么$("input").attr("required", "true");
但它不起作用。任何帮助是极大的赞赏。
答案 0 :(得分:327)
$("input").prop('required',true);
的 DEMO FIDDLE 强>
答案 1 :(得分:40)
你可以通过使用attr来做到这一点,你犯的错误是你把真正的内部引号。而不是尝试这个:
$("input").attr("required", true);
答案 2 :(得分:21)
我发现以下实现是有效的:
$('#freeform_first_name').removeAttr('required');
$('#freeform_first_name').attr('required', 'required');
这些命令(attr,removeAttr,prop)的行为会有所不同,具体取决于您使用的JQuery版本。请在此处参考文档:https://api.jquery.com/attr/
答案 3 :(得分:3)
我发现jquery 1.11.1不能可靠地执行此操作。
我使用了$('#estimate').attr('required', true)
和$('#estimate').removeAttr('required')
。
删除required
并不可靠。它有时会使required
属性没有值。由于required
是一个布尔属性,因此浏览器将其视为true
仅仅存在,没有价值。
这个bug是断断续续的,我厌倦了搞乱它。切换到document.getElementById("estimate").required = true
和document.getElementById("estimate").required = false
。
答案 4 :(得分:2)
不应将 true 用双引号“”括起来
$(document).ready(function() {
$('input').attr('required', true);
});
还可以使用道具
jQuery(document).ready(function() {
$('input').prop('required', true);
});
您可以尝试使用 true 代替。如
$('input').prop('required', 'required');
答案 5 :(得分:2)
使用.attr
方法
.attr(attribute,value); // syntax
.attr("required", true);
// required="required"
.attr("required", false);
//
使用.prop
.prop(property,value) // syntax
.prop("required", true);
// required=""
.prop("required", false);
//
从此处了解更多信息