체크박스관련 스크립트 질문입니다.

체크박스관련 스크립트 질문입니다.

QA

체크박스관련 스크립트 질문입니다.

답변 2

본문

---------------- 스크립트 --------------------

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'; } ?> /> 

여전히 검색을 누르면 select박스가 hide되버리는데요; name이나 value 때문인걸까요..?

아 그리구 테스트를 해보니

새로고침을하거나 페이지를 다시 들어왔을때부터 이미 체크가 되어있네요..ㅠ

<input type="checkbox" onclick="showhideinline('a',this.checked)" name="chk1" value="1" <?php if ($_REQUEST['chk1']) { echo 'checked'; $a_display = 'inline'; } else { $a_display = 'none'; } ?> />
<div id="a" style="display:<?php echo $a_display; ?>"><?=date_select($wr_2,"start") ?> 부터 <?= date_select($wr_3,"end")?> 까지</div>

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 함수는 단지, 날짜를 숨기고/나타내고 하는 기능만 하는 함수이며, 

어떤 상황을 체크하지는 않습니다.

 

현재의 님께서 제공하신 내용문맥으로보면,
어떤 상황(아무 검색어를 입력하지 않았다든지)에서는 숨기고
어떤 상황에서는 표시한다는 로직은,  검색버튼 눌렀을때 실행되는 함수에서 결정합니다.
 

답변 정말 감사드립니다. 몇번이고 읽어봤는데도 제가 실력이 부족한 탓인지

검색버튼을 눌렀을때 실행되는 함수라는 부분에서 좀 막히네요..

<input type="submit" value="검색" />

submit으로 검색을 해주고 있는 상황이고

검색버튼을 눌렀을때 실행되는 함수는 select쿼리문이 있는 부분을 말씀하시는건지요?

<form action="./supplie_reg_list.php" onsubmit="return showhideinline(this)" method="get">

아아. 이부분 말씀하신거구나..

보고 방금 바꾸었습니다. ,

마지막으로 한가지만 더 질문드릴게요ㅠㅠ

function에는 oDiv, flag 두개의 변수가 설정되어 있잖아요

그럼 저기 showhideinline(this) 이부분에 this를 넣어주니 실행이 안되어서

어떻게 넣어줘야할까요..괄호안에ㅠ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 83
© SIRSOFT
현재 페이지 제일 처음으로