jQuery 添加必需的输入字段

IT技术 javascript jquery validation
2021-01-21 22:32:43

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

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

6个回答
$("input").prop('required',true);

DEMO FIDDLE

@JohnMeyer“输入”是一个标签选择器
2021-03-21 22:32:43
有一个TypeError: element.prop is not a function错误
2021-03-27 22:32:43
如果它可以帮助某人:起初这对我不起作用,因为我在调用之前调用.prop('required',true)了输入.css("display", "block")
2021-04-05 22:32:43
@Miura-shi 你<form></form>的 jsFiddle 中缺少标签
2021-04-09 22:32:43
嗯,添加了一个提交按钮,但仍然没有验证或将 required 属性添加到输入字段。jsfiddle.net/japaneselanguagefriend/LEZ4r
2021-04-10 22:32:43

您可以通过使用 attr 来实现,您犯的错误是将 true 放在引号内。而不是尝试这个:

$("input").attr("required", true);
@JohnMeyer "input" 是标签选择器的名称
2021-03-14 22:32:43
@Alnitak 如果您正在努力使网站与 IE 兼容,prop()则不会像在现代浏览器上那样在那里工作。仍然最好使用$(ele).attr("required", true)false删除。
2021-03-27 22:32:43
required是一个布尔属性,应该只被省略(对于“false”),或者具有与其名称相同的值(即"required"对于“true”)。使用.prop().
2021-04-06 22:32:43

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

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

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

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

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

如果不附上真实双引号“”它应该像

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

你也可以使用props

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

您可以尝试 required而不是true

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