JQuery readonly 변경 - JQuery readonly byeongyeong

textarea, checkbox, 라디오, input 객체에 활성화, 비활성화, readonly를 줘야할 일이 자주 생긴다.

readonly는 수정을 못하게 하는거고..disabled는 아예 form에서 넘기질 않는거고..

이건 다들 알테고..

다음은 jquery로 input 객체에 readonly, disabled 주는 방법

<script>
$(document).ready(function(){

 $("#txtDeer").attr("readonly", true); //readonly 주기
 $("#txtDeer").removeAttr("readonly"); //readonly 취소하기
  
  //disabled 처리
  $("#txtDeer").attr("disabled", true); 
  //disabled 취소하기
  $("#txtDeer").removeAttr("disabled");

  //disabled 여부 확인하기
  if($("#txtDeer").is(":disabled")) {
      // TODO
  }

});
</script>

...

<body>
  <input type="text" name="txtDeer" id="txtDeer" value="사슴"/>
</body>


Language/JQuery

2016. 7. 6. 10:42

HTML로 이루어진 front-end 개발을 진행하다보면 텍스트박스, 체크박스등과 같은 input 타입의 요소들에
활성화, 비활성화 처리를 해야 할 경우가 있다.

이때 활성화, 비활성화를 위해 많이 사용하는것이 readonlydisabled 이다.
readonly의 경우 value 값을 수정할 수 없게끔 만들어 버리고 disabled의 경우 해당 요소들을 완전 비활성화 해버린다.

간단하게 다시 정리하자면 다음과 같다

readonly : input type="text" 에만 가능. 사용자는 value 값을 변경할 수 없음.
disabled : 모든 input 객체에 대하여 비활성화 처리 가능.

Form 전송시 해당 객체는 전송이 안됨

.

disabled 이용시 크게 유의해야 할 점이 있는데, 위에 적었듯이 Form 전송시(Submit)시 해당 객체는 아예 전송이 되지 않는다. 이 부분을 반드시 기억하자.

아래 예제는 간단하게 readonly 와 disabled을 처리하는 스크립트 예제이다.

<script type="text/javascript">

	$(document).ready(function(){

		// 텍스트 박스 readonly 처리
		$("#txtBox").attr("readonly",true); 

		// readonly 삭제
		$("#txtBox").removeAttr("readonly"); 
		


		// disabled 처리
		$("#txtBox").attr("disabled",true); 

		// disabled 삭제
		$("#txtBox").removeAttr("disabled"); 


		// disabled 여부
		if($("#txtBox").is(":disabled")){
			console.log("txtBox는 disabled 처리 되어 있음");
		}

	}
</script>

<body>
	
	<input type="text" name="txtBox" id="txtBox" value="멍멍이">

</body>


만약 front 화면에서 disabled 처리된 항목을 Form 전송시 받고 싶으면 스크립트로 submit을 처리하고 disabled 처리 되어 있는것을 해제하면 된다.


티스토리 뷰

[jQuery] readonly를 disabled로 변경하는 방법

Posted by 박날우 on 2017. 4. 17. 23:09 in 2. 개발공부./- jQuery /

특정 값을 반환 받은 경우에만 input창을 readonly로 변경하고 싶었다.

찾아보니 생각보다 어렵지 않았다.

  $("input[name=id]").attr("readonly",true);
  
  $("input[name=sel]").attr("disabled",true);

출처 : http://shonm.tistory.com/category/JQUERY/readonly,%20disabled%20%EC%82%AC%EC%9A%A9%EB%B2%95

저작자표시

'2. 개발공부. > - jQuery' 카테고리의 다른 글

[jQuery] readonly를 disabled로 변경하는 방법  (0) 2017.04.17
[jQuery] keyup()  (0) 2017.04.17
[jQuery] href의 주소 변경하기  (0) 2017.04.17
[jQuery] click()을 이용하기  (0) 2017.04.17

Tags: disabled, jQuery, readonly

0 Comments

Leave a comment

비밀글

Your name *

Your PassWord *

Comment *

readonly특정에 <input>어떻게 추가 할 수 있습니까? .attr('readonly')작동하지 않습니다.



답변

jQuery <1.9

$('#inputId').attr('readonly', true);

jQuery 1.9 이상

$('#inputId').prop('readonly', true);

prop과 attr의 차이점에 대해서 더 읽어보세요.


답변

사용 ) ($ .prop를

$("#descrip").prop("readonly",true);

$("#descrip").prop("readonly",false);


답변

읽기 전용은 html에 정의 된 속성이므로 속성처럼 취급하십시오.

편집 할 수없는 작업을하려면 작업중인 객체에 readonly = “readonly”와 같은 것이 있어야합니다. 그리고 다시 편집 할 수있게하려면 readonly =“와 같은 것이 없습니다 (올바르게 이해하면 표준이 아닙니다). 속성을 전체적으로 제거해야합니다.

따라서 jquery를 사용하여 추가하고 제거하는 것이 합리적입니다.

읽기 전용으로 설정하십시오.

$("#someId").attr('readonly', 'readonly');

읽기 전용을 제거하십시오.

$("#someId").removeAttr('readonly');

이것이 실제로 나를 위해 일한 유일한 대안이었습니다. 그것이 도움이되기를 바랍니다!


답변

.attr('readonly', 'readonly')트릭을해야합니다. 당신은 .attr('readonly')단지 그것을 하나를 설정하지 않고, 값을 반환합니다.


답변

“disabled”는 POST에서 입력이 전송되는 것을 제외한다고 생각합니다.


답변

.removeAttr을 사용하여 읽기 전용을 비활성화 할 수 있습니다.

$('#descrip').removeAttr('readonly');


답변

읽기 전용을 활성화하려면 :

$("#descrip").attr("readonly","true");

읽기 전용 비활성화

$("#descrip").attr("readonly","");