버튼의 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>
이렇게 해도 되지 않을까요?
답변을 작성하시기 전에 로그인 해주세요.