채택완료

왜 사파리에서 버튼이 동작하지 않을까요?

2018-01-15 (월) 11:24:54 2,493

아래와 같은 소스인데요.

사파리에서는 로그인 버튼 자체가 무반응입니다. 익스, 크롬을 잘되구요.

어떤 부분이 잘못 되었을지 조언부탁드립니다.

로그인 관련 소스는 아래와 같습니다.

Copy
<form name="flogin" method="post" autocomplete="off">
  <div class="login_list">
  <div style="margin-bottom:12px;">
  <input type="text" name="mb_id" id="mb_id"  title="아이디" style="width:100%; height:48px; font-size:18px;" onblur="checkField(this)" onfocus="clearField(this)" value="아이디" onfocus="this.className='login-mb_id focus';" onblur="if (this.value.length==0) {this.className='login-mb_id';}else {this.className='login-mb_id focusnot';}"></div>
  <div style="margin-bottom:12px;"><input type="password" name="mb_password" id="mb_password" style="width:100%; height:48px; text-indent:7px; font-size:18px;" onblur="checkField(this)" onfocus="clearField(this)" value="비밀번호" onfocus="this.className='login-mb_password focus';" onblur="if (this.value.length==0) {this.className='login-mb_password';}else {this.className='login-mb_password focusnot';}"></div>
   <div class="check_text"><input type="checkbox" name="idcheck" id="idcheck" value="1"><span style="margin-left:7px;">아이디저장</span></div>
   <input type="button" value="로그인" class="tab_bt1" style="background:#84ce2c; border-color:#8fe824; cursor:pointer; line-height:48px;" onclick="flogin_submit();"/>

  </div>
  </form>

 

 

 

 

 

function flogin_submit(){

 //쿠기 저장 부분
 if(flogin.idcheck.checked==true){ //아이디 저장을 체크하였을때
  setCookie("user_id",flogin.mb_id.value,7) //쿠키이름을 id로 form.mb_id.value 값을 7일동안 저장
 }
 else{ //아이디 저장을 체크하지 않았을때
  setCookie("user_id",document.getElementById("mb_id").value,0) //날짜를 0으로 저장하여 쿠키 삭제
 }

    if ($("[name=mb_id").val() == "") {
        alert("회원아이디를 입력하십시오.");
        $("[name=mb_id").focus();
        return false;
    }
    if ($("[name=mb_password").val() == "") {
        alert("패스워드를 입력하십시오.");
        $("[name=mb_password").focus();
        return false;
    }
 
 $("[name=flogin]").ajaxForm({
  url: '/bbs/login_check_ajax_test.php',
  type: "post",
  async: false,
  dataType: 'json',
  beforeSubmit: function() {
   //$("#loadingBar").show();
  },
  success : function(data) {
   //alert("로그인 기능 개편중입니다.\n잠시 사용이 불가합니다.\n이용에 불편을 드려 대단히 죄송합니다.");
   if(data['stat'] == "fail"){
    alert(data['msg']);
    return false;
   }
   else if(data['stat'] == "ok"){
    if(data['duple']=="ok"){
     alert(data['msg']);
     location.replace(data['link']);
     return false;
    }
    else{
     location.replace(data['link']);
     return false;
    }
   }
   else if(data['stat'] == "auth"){
    $(".login_security").show();
    if(data['level'] == "7"){
     $(".lsw_txt5").hide();
    }
    else{
     $(".lsw_txt5").show();
    }
    $("#auth_mb_id").val(data['id']);
    $("#auth_mb_level").val(data['level']);
    $("#auth_mb_tel").val(data['tel']);
    $(".auth_dental_hp").html(data['tel']);
    return false;
   }
   else{
    alert("시스템 오류 입니다.\n잠시후 다시 시도하여 주세요.");
    location.reload(true);
    return false;
   }
   
  },
  error: function (request, status, error) {
   alert("네트워크 오류 입니다.");
   return false;
  }

 }).submit();

 //f.action = './bbs/login_check.php';  
 //f.submit();
}
|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트
2018-01-16 (화) 00:55:48

form 전송을 담당하는 버튼의 경우, 일반적인 엘리먼트의 사용은..

<input type="submit" ... />

<input type="image" .. />

<button type="submit" ..></button>

등입니다.

 <input type="button" ...> 은 맞지 않는 사용법입니다.

표준에 맞는 태그로 변경해보면 어떨까 합니다.

* 참고글 - http://webdir.tistory.com/421

답변에 대한 댓글 1개

답변 감사합니다. 소스를 변경해도 안되네요. 스크립트 호출은 안되고 화면만 깜빡여요 ㅠ

MAC용 사파리 소스로 변경하셔야 할 것 같습니다.

답변에 대한 댓글 1개

아이폰에서 안되서 pc 사파리 브라우저에서 테스트해보니, 안되더라구요..

PC용 사파리와  Mac용 사파리는 다릅니다.

PC용 사파리는 몇년된 녀석이니 무시하고

Mac용 사파리에서 어찌 되는지 확인해보세요

답변에 대한 댓글 1개

아이폰에서 안되서 그렇습니다...

답변을 작성하려면 로그인이 필요합니다.