버튼의 onclick 대신...

버튼의 onclick 대신...

QA

버튼의 onclick 대신...

본문


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

 

안녕하세요.

 

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

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

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

조언을 좀 부탁드립니다.

<?php

   if($level >= 2){

      changeAction($mb_1,$id);

   }

?>

이 질문에 댓글 쓰기 :

답변 4


<?php
   if($level >= 2){
      changeAction($mb_1,$id);
   }
?>

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

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


<?php if($level >= 2){ ?>
<button class="btn btn_02" onclick="javascript:changeAction(<?php echo $row['mb_1']; ?>,'<?php echo $row['mb_id']; ?>');">클릭합니다</button>
<?php } else { ?>
<button class="btn btn_02">레벨부족</button>
<?php } ?>

또는


<button class="btn btn_02 changeAction" data-mb1="<?php echo $row['mb_1']; ?>" data-mb_id="<?php echo $row['mb_id']; ?>">클릭합니다</button>
 
<script>
$(".changeAction").on("click", function() {
        var data = $(this).data();
        var mb1 = data.mb1,
            mb_id = data.mb_id;
        changeAction(mb1,mb_id);         
    });
</script>

 

정도 될 듯 합니다.


 

 

 

 

이렇게 바꿔보셔요
onclick 안에 javascript: 이것을 넣으셔서 그렇습니다.

onclick="changeAction(<?php echo $row['mb_1']; ?>,'<?php echo $row['mb_id']; ?>');

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

 

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 123,479 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT