php문에서 jquery 호출하는데 오류가 생깁니다. 채택완료

php sql 포문 안에

Copy
if($row["BoardIdx"] == '55') {
                        echo '<script>pre09();</script>';
                    }

해당 구문이 있으며, 동일 페이지 하단에

Copy
<script>    
jQuery(function($) {
    function pre09(){
  swiper3.slideTo(9);
  }
});

</script>

이렇게 적용을 하였는데 페이지를 띄우면 콘솔창에 pre09를 찾을 수 없다고 하는데 왜 그런걸까요?

답변 4개

채택된 답변
+20 포인트
Copy
$is_pre = false;

for($i=0;$row;$i++) {

    if($row['BoardIdx'] == '55') {

       $is_pre = true;

    }

 }

}

php가 실행되는 시점에는 javascript가 로드되지 않았기 때문에 함수를 찾을수가 없습니다.

Copy
<script>

function pre09() {

    swiper3.slideTo(9);

}

var is_pre = <?php echo $is_pre;?>;

$(function() {

    if(is_pre === true) {

       pre09();

    }

});

</script>
로그인 후 평가할 수 있습니다

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

php가 먼저 실행을 하기 때문에, 자바스크립트 함수는 없는 것으로 인식이 될 것입니다. 그래서, 자바스크립트로 반복문 처리하셔야합니다.

쿼리로 반복문 처리된 부분을 php파일로 별도로 만드시고(값을 받을 수 있게 json형태로 변환..),

jquery ajax로 반복문 작성된 php파일을 호출하셔서 자바스크립트로 반복문을 처리하시면 되겠습니다.

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

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

jQuery(function() {}

이렇게 써보시구요

그리고 jquery 안에 함수를 넣으면 함수안에 함수를 구성한다고 해서 오류를 찾을수 없을것 같아요

그래서 따로 함수를 밖으로 빼시던지

아니면 jquery 함수를 따로만들어서 구성하시면 될것 같습니다.

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

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

function pre09(){
  swiper3.slideTo(9);
  } 

이렇게 함수만 넣어보세요

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

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

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

로그인
🐛 버그신고