테스트 사이트 - 개발 중인 베타 버전입니다

폼 받기 여분필드 중복 문제 채택완료

다나한포션 3년 전 조회 1,285

안녕하세요.

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

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

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

 

</p>

<p><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"></p>

<p> </p>

<p><input type="text" id="wr_1" name="wr_1"  placeholder="폰번호"></p>

<p><button>신청하기</button>

</form></p>

<p> </p>

<p>            <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></p>

<p> </p>

<p>

 

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

고수님들 도와주세요 ㅠ

 

 

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

답변 1개

채택된 답변
+20 포인트
3년 전

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

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

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

 

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

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

</p>

<p>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;        

    }

});</p>

<p>if (is_exist == true) {

    alert('중복된 휴대폰 번호입니다.');

    return false;

}</p>

<p>

 

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

</p>

<p>include_once('../../../common.php');</p>

<p> </p>

<p>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 ;

}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

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

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}'

~~~~
마르스컴퍼니
3년 전
$G5_THEME_PATH
-> G5_THEME_PATH

/theme/~/ajax_wr_1_check.php
=> include_once("../../common.php);
다나한포션
3년 전
정말 감사합니다.
근데 해주신대로 적용을 해봣는데 안되어서요..
아래 전체 소스 적어봅니다.. 또 염치없지만 오류사항 있으면 알려주세요 ㅠ


<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 ;
}
?>
마르스컴퍼니
3년 전
브라우저에서 ~/theme/ajax_wr_1_check.php?bo_table=list&wr_1=010-111-2222
식으로 직접 접속해서.. 'Y' 가 출력되는지 안된다면 $sql 을 출력해서.. echo $sql;
디버깅해나가면 됩니다.

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

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

로그인