2013-10-03 133 views
86

我一直在寻找如何使用html5验证自动将所需的jQuery自动写入到我的所有输入字段,但我无法告诉它在哪里编写它。jQuery添加所需的输入字段

我想借此

<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"); 
线做些事情之前自动添加 需要

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

+1

它是不是包装在DOM准备好? '$(function(){....});' – PSL

+0

我使用这个http://jsfiddle.net/japaneselanguagefriend/LEZ4r/ –

+0

如果'input'是一个id,jquery在这里选择器中缺少# 。 –

回答

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

DEMO FIDDLE

+1

嗯,添加了一个提交按钮,但仍未验证或将所需属性添加到输入字段。 http://jsfiddle.net/japaneselanguagefriend/LEZ4r/ –

+1

@AoiHana工作正常。 http://jsfiddle.net/LEZ4r/1/ – Unknown

+0

如果'input'是一个id,jquery在选择器中缺少#这里。 –

33

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

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

如果'input'是一个id,那么jquery在选择器中缺少#。 –

+2

@JohnMeyer“input”是标签选择器的名称 – dave4jr

1

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

我用$('#estimate').attr('required', true)$('#estimate').removeAttr('required')

删除required是不可靠的。它有时会离开required属性没有价值。由于required是一个布尔型属性,因此它仅仅存在,没有价值,被浏览器视为true

这个错误是间歇性的,我厌倦了它的混乱。切换到document.getElementById("estimate").required = truedocument.getElementById("estimate").required = false

+0

'removeAttr'对我不起作用。然后我使用你的解决方案,并正常工作。谢谢! –

17

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

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

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

这些命令(ATTR,removeAttr,道具)运作方式,取决于JQuery的版本所使用。请参考此处的文档:https://api.jquery.com/attr/

相关问题