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

我想接这个电话

 <input type="text" name="first_name" value="" id="freeform_first_name"
 maxlength="150">

并在结束标记之前自动添加required

 <input type="text" name="first_name" value="" id="freeform_first_name"
 maxlength="150" required>

我想我可以做一些类似于

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

但这并不奏效。任何帮助都非常感激。


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

演示小提琴


你可以用attr来做,你犯的错误是你把真内引号放进去了。不如试试这个:

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

我发现jquery 1.11.1不能可靠地做到这一点。

我使用$('#estimate')。attr('required', true)和$('#estimate'). removeattr ('required')。

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

这个bug是断断续续的,我厌倦了摆弄它。切换到document.getElementById("estimate")。required = true和document.getElementById("estimate")。Required = false。


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

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

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

这些命令(attr, removeAttr, prop)根据所使用的JQuery版本的不同而表现不同。请参考文档:https://api.jquery.com/attr/


不应该用双引号把真括起来“”它应该是什么样的

$(document).ready(function() {            
   $('input').attr('required', true);   
});

你也可以用道具

jQuery(document).ready(function() {            
   $('input').prop('required', true);   
}); 

而不是true,你可以试试required。如

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

使用。attr方法

// syntax
.attr(attribute,value);

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

.attr("required", false);
// output:

使用.prop

// syntax
.prop(property,value)

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

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

点击这里阅读更多

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