jQuery添加所需的input字段

我一直在寻找方法让jQuery自动地使用html5validation写入我的所有input字段,但是我无法告诉它在哪里写它。

我想要这个

<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"); 

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

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

DEMO FIDDLE

你可以通过使用attr来做到这一点,你犯的错误是你把真实的内部引号。 而不是那个试试这个:

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

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

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

这些命令(attr,removeAttr,prop)的行为有所不同,具体取决于您使用的JQuery版本。 请参考这里的文档: https : //api.jquery.com/attr/

我发现,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