입력 필드에 필요한 jQuery 추가


171

html5 유효성 검사를 사용하여 모든 입력 필드에 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>

나는 라인을 따라 someting 할 수 있다고 생각

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

그러나 작동하지 않습니다. 도움을 주시면 감사하겠습니다.


2
돔에 싸여 있지 않습니까? $(function(){....});
PSL


'input'이 id이면 jquery의 선택기에서 #이 누락됩니다.
John Meyer

@JohnMeyer "input"은 태그 선택기입니다. 입력 태그를 타겟팅하는 경우 # 필요하지 않음
Spartacus

답변:


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

DEMO FIDDLE


1
흠, 제출 버튼을 추가했지만 여전히 입력 필드에 필요한 속성을 확인하거나 추가하지 않습니다. jsfiddle.net/japaneselanguagefriend/LEZ4r
Miura-shi

1
@JohnMeyer "입력"태그 선택기 인
morefromalan

1
있어 TypeError: element.prop is not a function오류
davideghz

@ Miura-shi 당신은 <form></form>jsFiddle에 태그 가 없습니다
JESTech

그것이 누군가를 도울 수 있다면 : 전화 .prop('required',true)하기 전에 입력 요청 했기 때문에 처음에는 작동하지 않았습니다 .css("display", "block").
전기 타입

52

attr을 사용하여 할 수 있습니다. 실제로 따옴표 안에 넣는 것이 실수입니다. 대신에 이것을 시도하십시오 :

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

2
@JohnMeyer "input"은 태그 선택기의 이름입니다.
dave4jr

requiredA는 부울 속성과 오직 ( "false"를 위해) 생략하거나 (예 : 이름과 동일한 값이되어야한다 "required""true"를 위해). 실제로 사용하는 것이 좋습니다 .prop().
Alnitak

@Alnitak IE와 호환되는 사이트를 만드는 중이 prop()아니라면 최신 브라우저에서 와 같이 사이트에서 작동하지 않습니다. 여전히 사용 $(ele).attr("required", true)하고 false제거 하는 것이 가장 좋습니다 .
올리버 헤 워드

29

다음과 같은 구현이 효과적이라는 것을 알았습니다.

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

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

이러한 명령 (attr, removeAttr, prop)은 사용중인 JQuery 버전에 따라 다르게 작동합니다. https://api.jquery.com/attr/ 의 설명서를 참조하십시오.


6

.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


4

jquery 1.11.1 이이를 안정적으로 수행하지 못한다는 것을 알았습니다.

내가 사용 $('#estimate').attr('required', true)하고 $('#estimate').removeAttr('required').

제거 required가 신뢰할 수 없습니다. 때로는 required값이없는 속성을 남길 수 있습니다. required부울 복장 이므로 값이없는 단순한 존재는 브라우저에서로 표시됩니다 true.

이 버그는 간헐적으로 발생했으며 엉망이되었습니다. document.getElementById("estimate").required = true및로 전환했습니다 document.getElementById("estimate").required = false.


removeAttr나에게 작동하지 않습니다. 그런 다음 귀하의 솔루션을 사용하고 잘 작동합니다. 감사!
Diego Somar

4

묶지해야 사실큰 따옴표 가 같아야합니다 ""

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

또한 소품을 사용할 수 있습니다

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

대신에 사실 당신은 요구할 수 있습니다. 와 같은

$('input').prop('required', 'required');
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.