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

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


当前回答

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

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

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

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

其他回答

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

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

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

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

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

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

演示小提琴

使用。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

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

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

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

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