외부로그인에서 패스워드 입력칸의 크기가 변합니다. > 그누4 질문답변

그누4 질문답변

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

외부로그인에서 패스워드 입력칸의 크기가 변합니다. 정보

외부로그인에서 패스워드 입력칸의 크기가 변합니다.

본문

아이디 칸에는 '아이디'라는 글자가, 패스워드 칸에는 '패스워드'라는 글자가 있다가 마우스를 갔다대면 글자가 사라지고 아이디와 패스워드를 입력하는 형태인데 처음에는 칸의 크기가 변하지 않다가 마우스를 갔다대면 패스워드 칸의 크기가 줄어듭니다. 어디를 고쳐야 되는지 아시는 분은 답변해 주시면 감사하겠습니다.
 
 
================== 이하 외부로그인 스킨 파일 oulogin.skin.1.php ==================================
 
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<script type="text/javascript" language=JavaScript>
// 엠파스 로긴 참고
var bReset = true;
function chkReset(f)
{
    if (bReset) { if ( f.mb_id.value == '아이디' ) f.mb_id.value = ''; bReset = false; }
    document.getElementById("pw1").style.display = "none";
    document.getElementById("pw2").style.display = "";
}
</script>
<!-- 로그인 전 외부로그인 시작 -->
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<form name="fhead" method="post" action="javascript:fhead_submit(document.fhead);" autocomplete="off">
<input type="hidden" name="url" value="<?=$urlencode?>">
  <tr>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="11"><img src="<?=$outlogin_skin_path?>/img/left_top.gif" width="11" height="50"></td>
          <td background="<?=$outlogin_skin_path?>/img/title.gif"> </td>
          <td width="11"><img src="<?=$outlogin_skin_path?>/img/right_top.gif" width="11" height="50"></td>
        </tr>
        <tr>
          <td background="<?=$outlogin_skin_path?>/img/left_bg.gif"><img src="<?=$outlogin_skin_path?>/img/left_bg.gif" width="11" height="4"></td>
          <td> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td ><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td height="23"><input name="mb_id" type="text" size="16" maxlength="20" required itemname="아이디" value='아이디' onMouseOver='chkReset(this.form);' onFocus='chkReset(this.form);' class="ed"></td>
          </tr>
          <tr>
            <td id=pw1 height="23"><input type="text" size="16" maxlength="20" required itemname="패스워드" value='패스워드' onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' class="ed"></td>
            <td id=pw2 style='display:none;' height="23"><input name="mb_password" type="password" size="16" maxlength="20" itemname="패스워드" onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' class="ed"></td>
          </tr>
        </table></td>
      <td width="45" ><input type="image" src="<?=$outlogin_skin_path?>/img/login_08.gif" width="45" height="43"></td>
    </tr>
 </table>
 <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td><a href="javascript:win_password_forget();"><img src="<?=$outlogin_skin_path?>/img/login_06.gif" width="46" height="22" border="0"></a></td>
            <td><a href="<?=$g4[bbs_path]?>/register.php"><img src="<?=$outlogin_skin_path?>/img/login_07.gif" width="67" height="22" vspace="6" border="0"></a></td>
            <td><div align="right">
                <input type="checkbox" name="auto_login" value="1" onclick="if (this.checked) { if (confirm('자동로그인을 사용하시면 다음부터 회원아이디와 패스워드를 입력하실 필요가 없습니다.\n\n\공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?')) { this.checked = true; } else { this.checked = false; } }">
                <span class="now">자동</span></div></td>
          </tr>
        </table>
 </td>
          <td background="<?=$outlogin_skin_path?>/img/right_bg.gif"><img src="<?=$outlogin_skin_path?>/img/right_bg.gif" width="11" height="4"></td>
        </tr>
        <tr>
          <td><img src="<?=$outlogin_skin_path?>/img/left_bt.gif" width="11" height="24"></td>
          <td align="center"><img src="<?=$outlogin_skin_path?>/img/bt_bg.gif" width="168" height="24"></td>
          <td><img src="<?=$outlogin_skin_path?>/img/right_bt.gif" width="11" height="24"></td>
        </tr>
      </table></td>
  </tr>
  <tr>
    <td height="10"> </td>
  </tr>
  </form>
</table>
<script language="JavaScript">
function fhead_submit(f)
{
    if (!f.mb_id.value)
    {
        alert("회원아이디를 입력하십시오.");
        f.mb_id.focus();
        return;
    }
    if (document.getElementById('pw2').style.display!='none' && !f.mb_password.value)
    {
        alert("패스워드를 입력하십시오.");
        f.mb_password.focus();
        return;
    }
    f.action = "<?=$g4[bbs_path]?>/login_check.php";
    f.submit();
}
</script>
<!-- 로그인 전 외부로그인 끝 -->

댓글 전체

<td height="23"><input name="mb_id" type="text" size="16" maxlength="20" required itemname="아이디" value='아이디' onMouseOver='chkReset(this.form);' onFocus='chkReset(this.form);' class="ed"></td>
          </tr>
          <tr>
            <td id=pw1 height="23"><input type="text" size="16" maxlength="20" required itemname="패스워드" value='패스워드' onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' class="ed"></td>
            <td id=pw2 style='display:none;' height="23"><input name="mb_password" type="password" size="16" maxlength="20" itemname="패스워드" onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' class="ed"></td>
여기에 onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' 이부분이 마우스가 아이디 패스워드 에 가면
나타나는 이벤트입니다. 여기에 적용된 스크립트는 맨위의
<script type="text/javascript" language=JavaScript>
// 엠파스 로긴 참고
var bReset = true;
function chkReset(f)
{
    if (bReset) { if ( f.mb_id.value == '아이디' ) f.mb_id.value = ''; bReset = false; }
    document.getElementById("pw1").style.display = "none";
    document.getElementById("pw2").style.display = "";
}
</script>
이부분입니다.
스크립트 주석처리나 삭제하시고 위의 onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' 이부분을 삭제하신후 해보십시오
적용하시고자 한다면 스크립트부분을 수정하셔야합니다.
위의 스크립트 주석처리와 onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' 부분을 삭제하니 마우스를 갖다대면 칸이 줄어드는 현상은 나타나지 않습니다. 그러나 '아이디', '패스워드'라는 글자는 그대로 남아있고 무엇보다 페이지에 오류가 있다고 떠서 원래처럼 마우스를 갖다대면 글자가 사라지는 스크립트를 적용하고 싶습니다. 단지, 칸이 줄어드는 현상만을 제거하고 싶은데 스크립트를 어떻게 수정하면 좋을까요? 혹시 알고 계시다면 답변해 주시면 감사하겠습니다.
테스트 해보니 전혀 이상 없이 동작하는데요?
아웃로그인이 잘못된것이 아닌듯 합니다.
head.php등 전반적으로 확인을 하셔야 할 듯 합니다.다른곳에서
onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' 이 부분이 있는지 확인 해 보셔야 할 듯 합니다.
단독으로 위에 올리신 아웃로그인 테스트를 해보니 전혀 이상없이 텍스트 입력창의 내용만 사라지고 input box는 이상이
없습니다.
다른곳에서 원인을 찾으셔야 할 듯 합니다.
"스크립트 주석처리나 삭제하시고 위의 onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' 이부분을 삭제하신후 해보십시오" <--  이 문장이 약간 오타가 있어서 스크립트 주석처리와 onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);'을 동시에 삭제하라는 것으로 이해를 했는데 맞나요? 일단, 둘 다 삭제할 경우 다시 말하면,

<script type="text/javascript" language=JavaScript>
// 엠파스 로긴 참고
var bReset = true;
function chkReset(f)
{
    if (bReset) { if ( f.mb_id.value == '아이디' ) f.mb_id.value = ''; bReset = false; }
    document.getElementById("pw1").style.display = "none";
    document.getElementById("pw2").style.display = "";
}
</script>

부분과

<td id=pw1 height="23"><input type="text" size="16" maxlength="20" required itemname="패스워드" value='패스워드' onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' class="ed"></td>
            <td id=pw2 style='display:none;' height="23"><input name="mb_password" type="password" size="16" maxlength="20" itemname="패스워드" onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);' class="ed"></td>

에서 각각 onMouseOver='chkReset(this.form);' onfocus='chkReset(this.form);'를 삭제할 경우 화면왼쪽아래에 페이지에 오류가 있다는 경고가 뜹니다. 또 마우스를 갖다대도 '아이디', '패스워드'라는 글자는 사라지지 않고요. 제가 잘못하고 있는 것이라면 어느 부분을 수정해야 하는지 답변해 주시면 감사하겠습니다.
outlogin.skin.php 파일에서는 에러가 없습니다.
올리신 소스가 outlogin.skin.php파일으 빠진부분이 하나도 없다면. 저 파일을 제 테스트 페이지에 올려서
확인해 본 결과 전혀 문제없이 동작되고 있다는겁니다.
그러니 문제는 올리신 outlogin.php가 아니고 다른곳에서 문제가 생긴다는이야기 입니다.
head.php일수도 있고 tail.php일수도 있고 어느 특정 페이지에서만 생기는 문제라면 그 페이지에서 사용된
다른 스크립트와 중복되는 구문이 있는지 확인해 보셔야 할 듯 합니다. 올리신 outlogin.skin.php파일은
아무런 에러 없이 잘 작용되고 있습니다.
전체 4 |RSS

회원로그인

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