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

버튼의 onclick 대신... 채택완료

그렌트힐 3년 전 조회 2,424

</p>

<p><button class="btn btn_02" onclick="javascript:changeAction(<?php echo $row['mb_1']; ?>,'<?php echo $row['mb_id']; ?>');">클릭합니다</button></p>

<p>

 

안녕하세요.

 

위에 보시면 버튼 클릭해서 changeAction 을 실행하는대요..

아래 처럼 그냥 조건되면 처리하려고 해봤는데...Call to undefined function 에러가 나오네요..

아래처럼 구현하려면 문법이 다른가요? 

조언을 좀 부탁드립니다.

<?php

   if($level >= 2){

      changeAction($mb_1,$id);

   }

?>

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

답변 4개

채택된 답변
+20 포인트

</p>

<p><?php</p>

<p>   if($level >= 2){</p>

<p>      changeAction($mb_1,$id);</p>

<p>   }</p>

<p>?></p>

<p>

사용하신 문법은 자바스크립트의 function이 아닌 php의 function 호출로 인식됩니다.

분기점이 꼭 필요하신 경우라면 두번 작성하시거나 클래스 또는 아이디 호출 방식으로 변경하시면 좋습니다.

</p>

<p><?php if($level >= 2){ ?></p>

<p><button class="btn btn_02" onclick="javascript:changeAction(<?php echo $row['mb_1']; ?>,'<?php echo $row['mb_id']; ?>');">클릭합니다</button></p>

<p><?php } else { ?></p>

<p><button class="btn btn_02">레벨부족</button></p>

<p><?php } ?></p>

<p>

또는

</p>

<p><button class="btn btn_02 changeAction" data-mb1="<?php echo $row['mb_1']; ?>" data-mb_id="<?php echo $row['mb_id']; ?>">클릭합니다</button></p>

<p> </p>

<p><script></p>

<p>$(".changeAction").on("click", function() {

        var data = $(this).data();

        var mb1 = data.mb1,

            mb_id = data.mb_id;

        changeAction(mb1,mb_id);         

    });</p>

<p></script></p>

<p>

 

정도 될 듯 합니다.


 

 

 

 

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

답변에 대한 댓글 1개

그렌트힐
3년 전
네네 자세한 설명...정말 감사드립니다. 큰 도움 얻어갑니다.

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

<button class="btn btn_02" data-level="<?=$level?>" onclick="changeAction(<?php echo $row['mb_1']; ?>,'<?php echo $row['mb_id']; ?>');">클릭합니다</button>

 

<script>

$(function() {

    if($(".btn_02").data("level") >= 2) $(".btn_02").trigger("click");

});

</script>

이렇게 해도 되지 않을까요?

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

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

3년 전

javascript 에서 php 함수를 실행한다는 말인가요?

 

직접은 안되니 AJAX 를 통해서 하던지 하셔야 할겁니다.

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

답변에 대한 댓글 1개

그렌트힐
3년 전
네 감사합니다. ajax.... 공부 하겠습니다.

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

이렇게 바꿔보셔요
onclick 안에 javascript: 이것을 넣으셔서 그렇습니다.
onclick="changeAction(<?php echo $row['mb_1']; ?>,'<?php echo $row['mb_id']; ?>');</code></pre>

<p><code>

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

답변에 대한 댓글 2개

그렌트힐
3년 전
답변 감사드립니다. 큰 도움 되었습니다.
D
DogFoot개발
3년 전
본문 내용을 제대로 읽어보지 못했네요.
php에서 javascript를 호출을 못합니다.

자바스크립트에서 changeAction 호출을 하셔서 구현하셔야합니다.

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

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

로그인