Javascript jQuery将必填项添加到输入字段

Javascript jQuery将必填项添加到输入字段,javascript,jquery,validation,Javascript,Jquery,Validation,我一直在寻找方法,让jQuery使用html5验证自动写入我所有的输入字段,但我很难告诉它在哪里写入它 我想要这个 <input type="text" name="first_name" value="" id="freeform_first_name" maxlength="150"> 但它不起作用。非常感谢您的帮助 $("input").prop('required',true); 您可以通过使用attr来实现这一点,您犯的错误是在引号中添加了true。与其这样,不如尝

我一直在寻找方法,让jQuery使用html5验证自动写入我所有的输入字段,但我很难告诉它在哪里写入它

我想要这个

 <input type="text" name="first_name" value="" id="freeform_first_name"
 maxlength="150">
但它不起作用。非常感谢您的帮助

$("input").prop('required',true);

您可以通过使用attr来实现这一点,您犯的错误是在引号中添加了true。与其这样,不如尝试以下方法:

$("input").attr("required", true);

我发现jQuery1.11.1不能可靠地做到这一点

我使用了
$('#估计值').attr('required',true)
$('#估计值').removeAttr('required')

删除所需的
不可靠。它有时会使
required
属性没有值。由于
required
是一个布尔属性,因此浏览器会将它的存在视为
true


这个错误是断断续续的,我已经厌倦了和它捣乱。切换到
document.getElementById(“估计”).required=true
document.getElementById(“估计”).required=false

我发现以下实现是有效的:

$('#freeform_first_name').removeAttr('required');

$('#freeform_first_name').attr('required', 'required');

这些命令(attr、removeAttr、prop)的行为因您使用的JQuery版本而异。请参考此处的文档:

不应将true双引号括起来

$(document).ready(function() {            
   $('input').attr('required', true);   
});
你也可以使用道具

jQuery(document).ready(function() {            
   $('input').prop('required', true);   
}); 
您可以根据需要尝试,而不是true。比如

$('input').prop('required', 'required');

使用
.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);
//
从这里读更多


它不是用dom包装的吗<代码>$(函数(){…})如果“input”是一个id,那么我就使用它。jquery在这里的选择器中缺少了#。@JohnMeyer“input”是一个标记选择器。无#如果目标是输入标记shmm,则需要添加提交按钮,但仍然没有验证或向输入字段添加所需属性@JohnMeyer“input”是一个标签选择器,或是一个
TypeError:element.prop不是一个函数error@Miura-如果jsfiddle中的
标记对某人有帮助,您可能会丢失它:这对我一开始不起作用,因为在调用
.css(“display”,“block”)之前,我正在对输入调用
.prop('required',true)
在它上面。@JohnMeyer“input”是标记选择器的名称
必需
是一个布尔属性,只能省略(对于“false”),或者与“true”的名称具有相同的值(即
“必需”
)。实际上,最好使用
.prop()
@Alnitak。如果你正在努力使网站与IE兼容,那么
prop()
就不能像在现代浏览器上那样在那里工作。仍然最好使用
$(ele).attr(“必需”,true)
false
来删除。
removeAttr
对我不起作用。然后我使用你的解决方案,效果很好。谢谢
.attr(attribute,value); // syntax

.attr("required", true);
// required="required"

.attr("required", false);
// 
.prop(property,value) // syntax

.prop("required", true);
// required=""

.prop("required", false);
//