체크박스 오류문제 좀 봐주세요 ^ ^;; > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

체크박스 오류문제 좀 봐주세요 ^ ^;; 정보

체크박스 오류문제 좀 봐주세요 ^ ^;;

본문

홈페이지를 제작중인데, 아래와 같은 문제점이 있습니다.
로그인폼을 메인에 넣었구요. 또한 레이어팝업창을 넣었습니다.

이 두개가 충돌을 일으킵니다.

로그인은 잘됩니다만, 로그인전에 레이어팝업의 "닫기"(오늘하루 창열지않기/체크박스있음)를
클릭하면 Close 가 안되고, 스크립트 오류가 납니다.

로그인후의 페이지에서는 오류없이 모든게 잘 작동하는걸로 보아, 로그인 하기전의 소스와 레이어팝업 소스간에 출돌로 예상합니다.

아래 소스를 넣어 드리겠습니다.



<------------------------- 레이어 팝업 소스 ----------------------->
<SCRIPT language="JavaScript">
function setcookie( name, value, expirehours ) {
var todayDate = new Date();
todayDate.setHours( todayDate.getHours() + expirehours );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

function closeWin() {
if ( document.notice_form.chkbox.checked ){
setcookie( "maindiv", "done" , 24 );
}

document.all['divpop'].style.display = "none";

} </SCRIPT>



<DIV id="divpop" STYLE="WIDTH:1100px; HEIGHT:150px; position:absolute; LEFT:100px; TOP:150px; z-index:1100; visibility:hidden;">

<form name="notice_form">
<input type="checkbox" name="chkbox" value=""> 오늘 하루 이 창을 열지 않음 <A HREF="javascript:closeWin();">[닫기]</A></FORM></DIV>

<SCRIPT language="JavaScript">
cookiedata = document.cookie; 
if ( cookiedata.indexOf("maindiv=done") < 0 ){   
    document.all['divpop'].style.visibility = "visible";
    }
    else {
        document.all['divpop'].style.visibility = "hidden";
}
</SCRIPT>
<------------------------- 레이어 팝업 소스 ----------------------->






                                                    VS







<------------------------- 로그인 이전 소스 ----------------------->
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

if ($g4['https_url']) {
    $outlogin_url = $_GET['url'];
    if ($outlogin_url) {
        if (preg_match("/^\.\.\//", $outlogin_url)) {
            $outlogin_url = urlencode($g4[url]."/".preg_replace("/^\.\.\//", "", $outlogin_url));
        }
        else {
            $purl = parse_url($g4[url]);
            if ($purl[path]) {
                $path = urlencode($purl[path]);
                $urlencode = preg_replace("/".$path."/", "", $urlencode);
            }
            $outlogin_url = $g4[url].$urlencode;
        }
    }
    else {
        $outlogin_url = $g4[url];
    }
}
else {
    $outlogin_url = $urlencode;
}
?>



<script type="text/javascript">
function fhead_submit(f)
{
    if (!f.mb_id.value) {
        alert("회원아이디를 입력하십시오.");
        f.mb_id.focus();
        return false;
    }

    if (document.getElementById('pw2').style.display!='none' && !f.mb_password.value) {
        alert("패스워드를 입력하십시오.");
        f.mb_password.focus();
        return false;
    }

    <?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/login_check.php';";
    else
        echo "f.action = '$g4[bbs_path]/login_check.php';";
    ?>

    return true;
}
</script>
<script type="text/javascript" src="<?=$g4[path]?>/js/capslock.js"></script>
<script type="text/javascript">
// 엠파스 로긴 참고
var bReset = true;
function chkReset(f)
{
    if (bReset) { if ( f.mb_id.value == 'I D' ) f.mb_id.value = ''; bReset = false; }
    document.getElementById("pw1").style.display = "none";
    document.getElementById("pw2").style.display = "";
}
</script>
<style type="text/css">
#login_normal {
position: relative;
margin: 0px;
padding: 5px;
width: 96%;
height: 20px;
border: 1px 1px 1px 1px solid #E9E9E9;
background: #F9F9F9;
font-family: Tahoma;
font-size: 10px;
color: #AAAAAA;
text-align: center;
}
#id {
width: 100px;
margin: 0px;
padding: 5px;
position: relative;
float: left;
}
#pw1 {
width: 100px;
margin: 0px;
padding: 5px;
position: relative;
float: left;
}
#pw2 {
width: 100px;
margin: 0px;
padding: 5px;
position: relative;
float: left;
}
#summit {
width: 16px;
margin: 6px;
padding: 0px;
position: relative;
float: left;
}
#checkbox {
width: 16px;
margin: 9px 5px 5px 5px;
padding: 0px;
position: relative;
float: left;
}
#join {
width: 16px;
margin: 9px 5px 5px 5px;
padding: 0px;
position: relative;
float: left;
color: #AEC0FF;
}

input.checkbox {
width: 12px;
height: 12px;
vertical-align: middle;
margin: 0px;
padding: 0px;
}
</style>
<!-- 로그인 전 외부로그인 시작 -->
<form name="fhead" method="post" onsubmit="return fhead_submit(this);" autocomplete="off" style="margin:0px;" id="nlogin">
<input type="hidden" name="url" value="<?=$outlogin_url?>">
<div id="login_normal">
<div id="id"><input name="mb_id" type="text" maxlength="20" required itemname="아이디" value='I D' onMouseOver='chkReset(this.form);' onFocus='chkReset(this.form);' style="width: 100px; height:16px;font-family: tahoma; font-size: 10px;"></div>
<div id="pw1"><input type="text" maxlength="20" required itemname="패스워드" value='PASSWARD' onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' style="width: 100px; height:16px;font-family: tahoma; font-size: 10px;"></div>
<div id="pw2" style="display: none;" ><input name="mb_password" id="outlogin_mb_password" type="password" maxlength="20" itemname="패스워드" onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' onKeyPress="check_capslock(event, 'outlogin_mb_password');" style="width: 100px; height:16px;font-family: tahoma; font-size: 10px;"></div>
<div id="summit"><input type="image" src="<?=$outlogin_skin_path?>/img/login_button.png" width="16" height="16"></div>

<div id="checkbox"><input type="checkbox" class="checkbox" name="auto_login" value="1" onclick="if (this.checked) { if (confirm('자동로그인을 사용하시면 다음부터 회원아이디와 패스워드를 입력하실 필요가 없습니다.\n\n\공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?')) { this.checked = true; } else { this.checked = false; } }"> AUTO</div>
<!-- <a href="javascript:win_password_forget();"><img src="<?=$outlogin_skin_path?>/img/login_pw_find_button.gif" width="90" height="20" border="0"></a> -->
<!-- <a href="javascript:win_password_lost();"><img src="<?=$outlogin_skin_path?>/img/login_pw_find_button.gif" width="90" height="20" border="0"></a> -->
<div id="join"><a href="<?=$g4[bbs_path]?>/register.php" onfocus='this.blur()' style="text-decoration: none;"></a></div>
</div>
<!-- 로그인 전 외부로그인 끝 -->

<------------------------- 로그인 이전 소스 ----------------------->


위의 로그인을 하기이전 소스와 레이어팝업 소스간에 충돌입니다.

긍정적인 답변을 기다리겠습니다. ^  ㅡ^;

댓글 전체

충돌이라하면 글이 잘안써진다는것인지요
div 레벨값문제가 아니가 싶은데요 style="Z-INDEX: 100;    를  로그인 혹은 팦업 div에 샆입해보세요
즉 레벨값을 각각 달리해주면 되는데 문제는 팦업창 아래에 로그인이 위치하면 글쓰기가 안먹힐수도 있고........잘 활용해보세요
아 슈와이님 감사합니다. ^  ㅡ^;; 역시 항상 느끼는거지만 진리는 가까운곳에 있군요..ㅎㅎ
답변 채택을 슈와이님한테 해드려야하는데, 로그인하고 보니까 이미 채택이 되어있네요..ㅡㅡ
왜 그런지 전 몰라요..ㅎㅎ 감사합니다 ^  ㅡ^;;
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT