채택완료

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

2023-06-20 (화) 02:00:46 2,375

글쓰기 하단에...

Copy
function fwrite_submit(f)
    {

// 참가신청 여부 검사
        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("수정요청 등록");
                            }                    

                        });
                    }

}

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

Copy
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회' ";

$row = sql_fetch($sql);

    if(!$row['cnt'])
        return " 참가신청 등록이 되어있지 않습니다. ";
    else
        return "";

이렇게 했는데....

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

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

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

|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트
2023-06-20 (화) 09:08:34

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

Copy
function fwrite_submit(f) {

    // 참가신청 여부 검사
    var apply_chk = false;

    $.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;
            }
        }
    });

    if(!apply_chk) {
        return false;
    }

}

답변에 대한 댓글 2개

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

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

dataType:"text",

이렇게 수정해보세요.

2023-06-20 (화) 06:32:53

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

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