html : readonly 와 disabled 의 차이

값을 전달하는 fom 안의 input 에는 여러 종류의 타잎 들이 있다.

예를 들면
text

hidden

checkbox

radio

select

 

text 속성의 컴포넌트는 readonly 기능을 제공한다. 이 기능을 쓰면 컴포넌트는 쓰기가 방지 되는 효과를 가질 수 있다.

그러나 checkbox , radio , select 에는 readonly 기능이 없고 쓰기 방지를 위한 disabled 기능만 존재한다.

그렇다면 두 기능의 차이는 무엇일까??

☞?그것은 바로 Controller에서 값을 읽어 들이느냐 못 읽느냐에 있다.

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}”/>

출처 😕http://jhoonslife.tistory.com/tag/disabled

================================================================텍스트 필드, Textarea, Radiobutton, Checkbox등을 사용못하게 할때?disabled?옵션을 사용하면 됩니다.

<input type=text size=20 value=”지워보세요.”>
<input type=text size=20 value=”지울수 없음.”?disabled>
<textarea wrap=”VIRTUAL” cols=”20″ >Textarea</textarea>
<textarea wrap=”VIRTUAL” cols=”20″?disabled>Textarea</textarea>
?? <input type=”checkbox” name=”checkbox” value=”checkbox”>
<input type=”radio” name=”radiobutton” value=”radiobutton”>
???(적용시) <input type=”checkbox” name=”checkbox” value=”checkbox”?disabled>
<input type=”radio” name=”radiobutton” value=”radiobutton”?disabledchecked>
○ 참고로 disabled와 readonly는 둘다 값을 수정할 수 없도록 하는 속성입니다.
○ 다만 readonly는 그 값을 폼을 통해 전송하지만 disabled 는 값을 아예 전송하지 않는 차이가 있습니다.
○ 그러므로 사용하실 때는 두 속성을 구분하셔서 사용하세요.

15 Replies to “html : readonly 와 disabled 의 차이”

Leave a Reply

Your email address will not be published.