js 파일 제이쿼리에서 php 변수

js 파일 제이쿼리에서 php 변수

QA

js 파일 제이쿼리에서 php 변수

본문

opt += "<?php if ($member['mb_1'] == 'corporate' && !$it['it_1'] == '') { ?>"
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\"<?php echo $it['it_1']; ?>\" class=\"num_input\" size=\"5\">";
opt += "<?php } else { ?>"
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\"5\" class=\"num_input\" size=\"5\">";
opt += "<?php } ?>"

 

이렇게 썼더니 if 쓴 곳이나

 

중간에 value에 변수 넣은 곳이나 다 오류가 나더라구요 ㅠㅠ

 

어떻게 집어 넣어야 하나요?

이 질문에 댓글 쓰기 :

답변 4

그렇게 쓰시면 그냥 텍스트값 "it_1"이 들어가고 오류가 납니다

 

if (mb1 == 'corporate' && !$it_1 == '') {
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\""+it_1+"\" class=\"num_input\" size=\"5\">";
} else {
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\""+min_qty2+"\" class=\"num_input\" size=\"5\">";
}

 

변수 안에 값넣을때는 구분자를 잘 넣어주어야합니다

<script>
if (<?php echo $member['mb_1']; ?> == 'corporate' && parseInt(<?php echo $it['it_1']; ?>) != '') {
var valuec = parseInt(<?php echo $it['it_1']; ?>);
} else {
var valuec = parseInt(<?php echo $it['it_buy_min_qty']; ?>);
}
</script>
<script src="<?php echo G5_JS_URL; ?>/shop.override.js"></script>

opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\""+valuec+"\" class=\"num_input\" size=\"5\">";

이렇게 하니까 undefined 로 나오네요

그러면 이제 $it를 못불러오는걸꺼에요....
그리고 스크립트 조건문에 php구문넣는건 ㅠㅠ 변수에 담아서 쓰시구요 물론.. 저렇게 써도 되긴됩니다만 딱히 좋은 방법은 아니에요
변수에서 담아 쓰시거나 아니면 아예 php구문으로 작성을 하셔도 될부분같네요

<script>
<?php if($member['mb_1'] == 'corporate' && $it['it_1']; ?>) != '') { ?>
var valuec = parseInt(<?php echo $it['it_1']; ?>);
<?php } else { ?>
var valuec = parseInt(<?php echo $it['it_buy_min_qty']; ?>);
<?php } ?>
</script>
<?php echo $it['it_1'].'//'.$it['it_buy_min_qty']; ?>
<script src="<?php echo G5_JS_URL; ?>/shop.override.js"></script>

이렇게해서 echo값이 찍히는지 한번봐보시구요

네 스크립트 안에서 php문을 쓸때에는 반드시 '<?php echo $value; ?>' 구분자로 묶고 넣어주세요 왜냐면 스크립트에게 php문은 들어올수도 들어오지않을지도 모르는 값이니깐요

<?php if ($member['mb_1'] == 'corporate' && !$it['it_1'] == '') { ?>

   //이 사이에 스크립트 넣으세요.

 

opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\"<?php echo $it['it_1']; ?>\" class=\"num_input\" size=\"5\">";
 <?php } else { ?> 
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\"5\" class=\"num_input\"   size=\"5\">";

 

 

<?php } ?>


<?php if ($member['mb_1'] == 'corporate' && !$it['it_1'] == '') { ?>
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\"<?php echo $it['it_1']; ?>\" class=\"num_input\" size=\"5\">";
<?php } else { ?>
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\"5\" class=\"num_input\" size=\"5\">";
<?php } ?>

자바스크립트 변수에 값을 넣는건 echo 즉 출력된 php값만 넣을 수 있습니다

php조건을 변수에 담을려고하니 안되는거에요

아 조건은 안되나요 ㅠㅠ

php 파일 안의 자바스크립트에선

<?php if ($member['mb_1'] == 'corporate' && !$it['it_1'] == '') { ?>

이렇게 해도 먹혔는데 ㅠㅠ

그리고

 value=\"<?php echo $it['it_1']; ?>\"

이렇게 하면 <?php echo $it['it_1']; ?> 이게 그대로 출력이되고

 value="<?php echo $it['it_1']; ?>"

이렇게 하면 오류나는지 1로 표시가 되고 ㅠㅠ

변수에만 안담으면 당연히 스크립트 안에 php조건문을 말씀하신것처럼 쓰실수있습니다
<script>
<?php if(조건) { ?>
//스크립트 구문
<?php } ?>
</script>

스크립트 변수에 조건을 담는게 안되는거에요

뒤에 말씀하신것도  value="<?php echo $it['it_1']; ?>" 이렇게 쓰면 되야하는게 정상인데 1로표시된다는게 어떤걸 말씀하시는지 모르겠네요

일단 조건문 다 없애버리고

opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value="<?php echo $it['it_1']; ?>" class=\"num_input\" size=\"5\">";

요거 하나만 쓰면 원래는 it_1이 5면 5가 나와야 해요

근데 그냥 1이 나와버려요

숫자 5쓰면 5가 나와요

물론 it_1의 값은 1이 아닙니다 ㅠㅠ

일단 맞게 쓰셨구요 그럼 스크립트 문제가아니라 $it['it_1']값의 문제인데 해당 스크립트를 작성하기전에 $it['it_1']값을 넣어주거나 불러오는곳을 봐야겠지요

예를 들어 회원 정보는 어디서든 불러올 수 있으니까

value=\"<?php echo $member['mb_id']; ?>\" 하면 input 안에 <?php echo $member['mb_id']; ?> 이 문자가 고대로 나오구요

value="<?php echo $member['mb_id']; ?>" 하면 css가 깨지는건지 뭔지 모양이 바뀌면서 1이 표시가 돼요

해당 스크립트 파일을 불러오기전에 스크립트 변수에 담아서 보내야지요

<script>
  var value = '<?php echo $value; ?>';
</script>
<script src="shop.override.js"></script>

<script>
var mb_1 = "<?php echo $member['mb_1']; ?>";
var it_1 = <?php echo (int)$it['it_1']; ?>;
var min_qty2 = <?php echo (int)$it['it_buy_min_qty']; ?>;
</script>
<script src="<?php echo G5_JS_URL; ?>/shop.override.js"></script>

js 파일에선
if (mb1 == 'corporate' && !$it_1 == '') {
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value="it_1" class=\"num_input\" size=\"5\">";
} else {
opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value="min_qty2" class=\"num_input\" size=\"5\">";
}

이렇게 쓰는거 맞나요?

<script>
var min_qty2 = <?php echo (int)$it['it_buy_min_qty']; ?>;
if (<?php echo $member['mb_1']; ?> == 'corporate' && <?php echo (int)$it['it_1']; ?> != '') {
valuec = it_1 ;
} else {
valuec = min_qty2;
}
</script>
<script src="<?php echo G5_JS_URL; ?>/shop.override.js"></script>


opt += "<input type=\"text\" name=\"ct_qty["+item_code+"][]\" value=\""+valuec+"\" class=\"num_input\" size=\"5\">";


요렇게 해봤는데 암것도 안나오네요

valuec 값을 못 불러오는거 같습니다

js 파일에서 valuec = 1; 이런식으로 정의해주면 잘 나오더라구요

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

회원로그인

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