폼 받기 여분필드 중복 문제

폼 받기 여분필드 중복 문제

QA

폼 받기 여분필드 중복 문제

본문

안녕하세요.

폼작성 하면 게시판으로 입력되는 건데요

wr_1여분필드가 핸드폰번호인데

중복으로 들어오는건은 얼럿으로 거르고 싶습니다.

 


<form enctype="multipart/form-data" id="form" name="form" method="post" onsubmit="return form_Check();" action="<?php echo G5_THEME_URL.'/form_send.php';?>">
<input type="hidden" name="mode" value="send">
 
<input type="text" id="wr_1" name="wr_1"  placeholder="폰번호">
<button>신청하기</button>
</form>
 
            <script>
                function form_Check(){
                    if(form.wr_1.value == ''){
                        alert("핸드폰 번호를 입력해주십시오.");
                        form.wr_1.focus();
                        return false;
                    }
                    if(!confirm('신청을 하시겠습니까?')) {
                        return false;
                    }
                    document.getElementById("btn_send").disabled = "disabled";
                    return true;
                    }
            </script>
 

 

여기서 스크립트 부분을 어떻게 넣어야 하는지 감이 안옵니다

고수님들 도와주세요 ㅠ

 

 

이 질문에 댓글 쓰기 :

답변 1

글 작성 폼에서 휴대폰 번호를 받고,

[제출] 버튼 클릭 시점에 (저장 페이지 넘어가기전) 중복체크를 하고자 하는 경우에는 

ajax 로 처리해야 됩니다. ajax 처리용 페이지 생성이 필요합니다.

 

1) [스킨 디렉토리]/write.skin.php

form_Check() 함수의 휴대폰 번호 입력체크 구문 아래에 다음 코드 추가


let is_exist = false;
$.ajax({
    url: '<?php echo $board_skin_url ?>/ajax_wr_1_check.php',
    type: 'POST',
    data: {bo_table : g5_bo_table, wr_1 : $('#wr_1').val()},
    context: this,
    success: function(data) { 
        if (data == 'Y')
            is_exist = true;        
    }
});
if (is_exist == true) {
    alert('중복된 휴대폰 번호입니다.');
    return false;
}

 

2) [스킨 디렉토리]/ajax_wr_1_check.php


include_once('../../../common.php');
 
if ($bo_table && $wr_1) {
    $write_table = $g5['write_prefix'] . $bo_table;
     
    $sql = "
        select count(*) cnt
          from {$write_table}        
         where wr_1 = '{$wr_1}'
    ";
     
    $row = sql_fetch($sql);
    if ($row['cnt'] > 0)     
        $result = 'Y'
    
    echo $result ;
}

답변정말 감사드립니다.
근데 제가 게시판에서 사용하는게 아니라
메인 화면에서 따로 빼가지고 사용중이라서요...
경로를 바꾸면 될 것 같은데 아래처럼 하니 안되서요.. 염치없지만 경로좀 봐주실수있을까요 ㅠ

    url: '<?php echo $G5_THEME_PATH ?>/ajax_wr_1_check.php',
    type: 'POST',
    data: {bo_table : 'list', wr_1 : $('#wr_1').val()},



check.php파일
~~~~

    $write_table ="list";
   
    $sql = "
        select count(*) cnt
          from {$write_table}       
        where wr_1 = '{$wr_1}'

~~~~

정말 감사합니다.
근데 해주신대로 적용을 해봣는데 안되어서요..
아래 전체 소스 적어봅니다.. 또 염치없지만 오류사항 있으면 알려주세요 ㅠ


<script>
function form_Check2(){

if(form2.wr_1.value == ''){
alert("핸드폰번호를 입력해주십시오.");
form2.wr_1.focus();
return false;
}

let is_exist = false;
$.ajax({
      url: '<?php echo G5_THEME_PATH ?>/ajax_wr_1_check.php',
    type: 'POST',
    data: {bo_table : list, wr_1 : $('#wr_1').val()},
    context: this,
    success: function(data) {
        if (data == 'Y')
            is_exist = true;       
    }
});
if (is_exist == true) {
    alert('중복된 휴대폰 번호입니다.');
    return false;
}

if(!confirm('조회 신청을 하시겠습니까?')) {
return false;
}
document.getElementById("btn_send").disabled = "disabled";
return true;
}
</script>







ajax파일
<?php
include_once('../../common.php');
 
 $bo_table = "list";


if ($bo_table && $wr_1) {
    $write_table = $g5['write_prefix'] . $bo_table;
   
    $sql = "
        select count(*) cnt
          from {$write_table}       
        where wr_1 = '{$wr_1}'
    ";
   
    $row = sql_fetch($sql);
    if ($row['cnt'] > 0)   
        $result = 'Y'
   
    echo $result ;
}
?>

브라우저에서 ~/theme/ajax_wr_1_check.php?bo_table=list&wr_1=010-111-2222
식으로 직접 접속해서.. 'Y' 가 출력되는지 안된다면 $sql 을 출력해서.. echo $sql;
디버깅해나가면 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 75
QA 내용 검색

회원로그인

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