체크박스관련 스크립트 질문입니다.
본문
---------------- 스크립트 --------------------
function showhideinline(oDiv,flag) {
var obj = document.getElementById(oDiv);
if(flag)
obj.style.display="inline";
else
obj.style.display="none";
}
----------------- form -----------------------
* 기간별 검색시 체크 <input type="checkbox" onclick="showhideinline('a',this.checked)" />
<div id="a" style="display:none"><?=date_select($wr_2,"start") ?> 부터 <?= date_select($wr_3,"end")?> 까지</div>
현재 체크박스를 체크하면 기간별로 검색할 수 있는 select로 된 날짜가 나옵니다.
체크를 한 상태에서 아무 검색어도 입력하지 않고 검색을 하면
체크가 풀리면서 날짜가 다시 hide 되어버립니다.
검색을 눌러도 체크가 계속 유지될 수 있는 방법이 무엇인가요?
답변 2
<input type="checkbox" onclick="showhideinline('a',this.checked)" name="chk1" value="1" <?php if ($_REQUEST['chk1']) { echo 'checked'; } ?> />
http://static.se2.naver.com/static/img/bg_quote2.gif) 0 3px no-repeat;color:#888888;">체크를 한 상태에서 아무 검색어도 입력하지 않고 검색을 하면, 체크가 풀리면서 날짜가 다시 hide 되어버립니다.
검색버튼을 누르면 실행되는 함수를 찾으시면, 그 안에 위의 로직이 들어있겠죠.
그러므로, 검색버튼을 누르면 실행되는 함수를 찾으셔서 그 함수를 수정하셔야 합니다.
<button onclick="before_submit()">검색</button>
이라든가....
<form onsubmit="before_submit()">
showhideinline 함수는 단지, 날짜를 숨기고/나타내고 하는 기능만 하는 함수이며,
어떤 상황을 체크하지는 않습니다.
현재의 님께서 제공하신 내용문맥으로보면,
어떤 상황(아무 검색어를 입력하지 않았다든지)에서는 숨기고
어떤 상황에서는 표시한다는 로직은, 검색버튼 눌렀을때 실행되는 함수에서 결정합니다.