왜 사파리(아이폰)에서 버튼이 동작하지 않을까요?
본문
아래와 같은 소스인데요.
사파리에서는 로그인 버튼 자체가 무반응입니다. 익스, 크롬을 잘되구요.
어떤 부분이 잘못 되었을지 조언부탁드립니다.
로그인 관련 소스는 아래와 같습니다.
<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();
}
!-->
답변 2
$("[name=mb_id")
$("[name=mb_password")
구문 오류가 보이네요.
$("[name=mb_id]") 이렇게 닫기 표기가 안되어 있습니다.
그래도 안되신다면
$("input[name=mb_id]") 이나 $("#mb_id") 으로 변경해서 해보시기 바랍니다.
이벤트에 자바스크립트임을 명시해 줘보시겠어요?
예를 들면 아래처럼요.
onfocus="javascript:void clearField(this)"
답변을 작성하시기 전에 로그인 해주세요.