웹마스터 팁

지극히 개인적인 팁일 수 있으나 혹시 저와 같은 고민을 나중에라도 하게 된다면 참고하시기 바랍니다.

input과 select 에는 disabled="true" 라고 해서 입력할 수 있는 값을 변경하지 못하게 하는 방법이 있습니다.

1.3.1.2 까지는 xml js filter로 넘기면 disabled 되어있는 곳의 값도 넘어왔었는데요.

1.4.0 부터는 이것이 되지 않는다고 합니다.

(원래 form 전달 시 disabled가 선언된 곳의 값은 넘기지 않는다고 하네요.)


disabled를 사용하는 예
  • 게시판에 카테고리(목록)의 권한을 부여해서 선택하지 못하게 함

저 같은 경우는 모듈을 만들때 select나 input 값을 등록 후에 그 내용을 수정할 경우 유일한 값은 disabled 처리를 해서 변경 못하게 처리 했었는데요. 이런 부분을 select에서 다른 방법으로 처리하여 사용될 수 있도록 하는 방법을 설명해 드릴까 합니다.


기존

<select name="test" <!--@if($oTest->test!=null)-->disabled="true"<!--@endif-->>
<option value="">none</option>
<option value="1" <!--@if($oTest->test!=null && $oTest->test==1)-->selected="selected"<!--@endif-->>A</option>
<option value="2" <!--@if($oTest->test!=null && $oTest->test==2)-->selected="selected"<!--@endif-->>B</option>
<option value="3" <!--@if($oTest->test!=null && $oTest->test==3)-->selected="selected"<!--@endif-->>C</option>
</select>


개선

<select name="test">
<!--@if($oTest->test!=null)--><option value="">none</option><!--@endif-->
<option value="1" <!--@if($oTest->test!=null)-->disabled="true"<!--@endif--> <!--@if($oTest->test!=null && $oTest->test==1)-->selected="selected"<!--@endif-->>A</option>
<option value="2" <!--@if($oTest->test!=null)-->disabled="true"<!--@endif--> <!--@if($oTest->test!=null && $oTest->test==2)-->selected="selected"<!--@endif-->>B</option>
<option value="3" <!--@if($oTest->test!=null)-->disabled="true"<!--@endif--> <!--@if($oTest->test!=null && $oTest->test==3)-->selected="selected"<!--@endif-->>C</option>
</select>