본문 바로가기

Programming/Javascript, jQuery

readonly와 disabled 차이점

반응형

text 컴포넌트는 readonly 속성이 존재한다.


하지만 checkbox, radio, select에는 readonly가 없고 disabled만 존재한다.



차이점은


 readonly 속성은 쓰기만 방지될 뿐 request.getParameter("name")으로 읽을 수 있는 반면


disabled 속성은 아예 DOM 객체에서 사라지기 때문에 request.getParameter("name") 으로 값을 읽어 들일 수 없다.


checkbox 나 radio , select 를 쓰기방지는 되지만 컨트롤러가 값을 읽어오게 하기 위해서는 사실 disabled 는 답이 없다.

따라서 우회적인 방법을 쓰곤 한다.

이름이 동일한 히든값을 만들어 두어서 항상 같은 값이 유지되도록 자바스크립트 함수로 만들어 놓고 사용하는 방법이다.


간단한 샘플은 다음과 같다.

 <input name="test" type="checkbox" disabled="disabled" value="1"/>
 <input name="test" type="hidden"  value="1"/>

표현만 하고 다음번에 다시 읽어와야 하는 경우라면 (신청서를 수정할 때,수정 불가능한 항목을 만들고 싶은 경우 )
아래 표현처럼 쓰면 되겠다.

 <input name="test" type="checkbox" disabled="disabled" value="${val}"/>
 <input name="test" type="hidden"  value="${val}"/>



반응형