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

게시판 글쓰기에서 ajax를 쓸려고 하는데....어떻게 해야 할지 잘모르겠네요... 채택완료

감독님 2년 전 조회 1,986

글쓰기 하단에...

</p>

<p>function fwrite_submit(f)

    {</p>

<p>// 참가신청 여부 검사

        var apply_chk = function(wr_name,wr_1) {

                        $.ajax({

                            type:"post",

                            url:"<?php echo $board_skin_url?>/apply_check.php",

                            data:

                            {

                                'wr_name': f.wr_name.value,

                                'wr_1': f.wr_1.value

                            },

                            dataType:"json",

                            success:function(data){

                            

                            if(data)

                                alert("참가등록 안됨.");                        

                            else

                                alert("수정요청 등록");

                            }                    </p>

<p>                        });

                    }</p>

<p>}</p>

<p>

 

이렇게 하고...apply_check.php는

</p>

<p>include_once("./_common.php");

$sql = "select count(*) as cnt from apply_test where a_name = '".$_POST['wr_name']."' and a_jumin = '".$_POST['wr_1']."' and a_step = '12회' ";</p>

<p>$row = sql_fetch($sql);</p>

<p>    if(!$row['cnt'])

        return " 참가신청 등록이 되어있지 않습니다. ";

    else

        return "";    </p>

<p>

 

이렇게 했는데....

참가신청이 안된 사람이 글을 쓰려고 하면 참가신청 안되어서 글을 못쓰게 할려고 하는거 거든요...

근데...위에 처럼 하니까...글이 등록이 되어버리네요...

ajax를 잘 몰라서 그누보드에 있는 소스 이것저것 참조해서 만들어봤는데...어디가 잘못된건지...모르겠어요..

 

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

답변 3개

채택된 답변
+20 포인트

코드 정리 좀 하고 비동기를 동기로 처리하면

</p>

<p>function fwrite_submit(f) {</p>

<p>    // 참가신청 여부 검사

    var apply_chk = false;</p>

<p>    $.ajax({

        type: "post",

        url: "<?php echo $board_skin_url?>/apply_check.php",

        data: {

            'wr_name': f.wr_name.value,

            'wr_1': f.wr_1.value

        },

        dataType: "text",

        async: false,

        success:function(data) {

            if(data) {

                alert("참가등록 안됨.");

                apply_chk = false;

            } else {

                alert("수정요청 등록");

                apply_chk = true;

            }

        }

    });</p>

<p>    if(!apply_chk) {

        return false;

    }</p>

<p>}</p>

<p>

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

답변에 대한 댓글 2개

감독님
2년 전
다른거 처리하느라 아직 테스트는 안해봤는데요...관심가져주셔서 감사합니다.
감독님
2년 전
체크하는 쪽에....
echo $row['cnt'];
이렇게만 하고....
if(data=="0")
등록안됨....

이렇게 하니까 잘되네요...
감사합니다.

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

e
2년 전

dataType:"text",

이렇게 수정해보세요.

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

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

Form check 함수는 어떻게 되어 있나요?

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

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

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

로그인