输入字段需要jQuery add

时间:2013-10-03 18:38:19

标签: javascript jquery validation

我一直在寻找方法让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");

但它不起作用。任何帮助是极大的赞赏。

6 个答案:

答案 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 = truedocument.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);
//

从此处了解更多信息

  

https://stackoverflow.com/a/5876747/5413283