체크박스 활성화 비활성화 질문입니다.
본문
<script>
function checkDisable(frm)
{
if( frm.chkbox.checked == true ){
frm.textbox.disabled = true;
} else
{
frm.textbox.disabled = false;
}
}
</script>
<form action="./supplie_reg_list.php" onsubmit="return goForm(this)" method="get">
<select name="sfl" id="sfl">
<option value="">-선택-</option>
<option value="wr_subject" <?=$sfl == 'wr_subject' ? 'selected' : ''?>>고객업체명</option>
<option value="wr_5" <?=$sfl == 'wr_5' ? 'selected' : ''?>>현장명</option>
<option value="wr_content" <?=$sfl == 'wr_content' ? 'selected' : ''?>>장비명</option>
</select>
<input type="text" name="stx" id="stx" value="<?=$stx?>" />
-----------------제가 하려고 하는 부분-------------------------
* 기간별 검색시 체크
<input type="checkbox" onclick="checkDisable(this)" name="wr_1" value="1" <?php if($_REQUEST['wr_1']) {echo 'checked'; $a_display = 'true';} else { $a_display = 'false';}?>/>
<input type="hidden" name="textbox" style="display:<?=$a_display;?>" /><?=date_select($wr_2,"start") ?> 부터 <?= date_select($wr_3,"end")?> 까지
<input type="submit" value="검색" />
</form>
-----------------------예제부분은 잘 됩니다.---------------------
<form>
<input name="chkbox" type="checkbox" onClick="checkDisable(this.form)">텍스트박스 비활성<br>
<input name="textbox" type="text">
</form>
-----------------------------------------------------------------
체크를 하면 활성화 , 체크가 안돼있을땐 비활성화를 하려고합니다.
예제부분처럼 하면 체크를 했을때 텍스트창이 비활성화가 되는데
제가 하려고 하는 날짜부분은 전혀 변화가 없습니다.
어디가 잘못된건지 도와주세요.
답변 2
function checkDisable(frm) {
if( frm.checked == true ) {
document.getElementsByName("textbox")[0].disabled = true;
} else {
document.getElementsByName("textbox")[0].disabled = false;
}
}
<input type="checkbox" onclick="checkDisable(this)"
여기에서 this로 넘기셨는데 실제 함수에선 엉뚱한 걸 체크하셨네요.
* textbox를 감싸고 있는 form 이름이 없어서 저렇게 했습니다.
!-->비교해서 말씀 드림 되는지 모르겠지만서도... 일단 this와 this.form 차이가 보이네요.
예제로 잘 되신다는 부분엔 this.form 하시고 안되신다는 소스에는 this만 되어 있네요.