상품리스트에서 위시리스트 버튼 구현 질문입니다~

상품리스트에서 위시리스트 버튼 구현 질문입니다~

QA

상품리스트에서 위시리스트 버튼 구현 질문입니다~

본문

list.10.skin.php 에서 

적당한 위치에


echo "<div class=\"sct_quick\">\n";
echo "<a href=\"{$this->href}{$row['it_id']}\"><img src=\"".G5_SHOP_URL."/img/btn_view.gif\"><span class=\"sound_only\">상세페이지 보기</span></a>";
echo "<a href=\"javascript:item_wish(document.fitem,'";
echo $row['it_id'];
echo "');\"><img src=\"".G5_SHOP_URL."/img/btn_wish.gif\"><span class=\"sound_only\">위시리스트에 담기</span></a>";
echo "</div>\n"

 

요 코드를 넣고

li 끝나기 전에

 


<script>
function item_wish(f, it_id)
{
	f.url.value = "<?php echo G5_SHOP_URL; ?>/wishupdate.php?it_id=" + <?= $row['it_id']?>; 
	f.action = "<?php echo G5_SHOP_URL; ?>/wishupdate.php";
	f.submit();
}
</script>

 위의 스크립트를 추가해주었습니다.

그리고 리스트에 만들어 둔 위시리스트로 보내는 버튼을 누르게 되면


(index):565 Uncaught TypeError: Cannot read property 'url' of undefined
    at item_wish ((index):565)
    at <anonymous>:1:1

 

이 에러가 뜨는데 f.url.value 에서 url 값이 없어서 그런것 같은데..

어떤 값으로 정의해 주어야 하나요 ㅠ

item.form.skin.php 참고해서 하고있는데

어떤값을 할당해야 하는지 모르겠네요;

 

 

 

 

 

 

 

아래는

list.10.skin.php 파일 코드입니다


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
 
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
// 중복으로 호출시 G5_SHOP_CSS_URL이 변수명으로 출력됨 따라서, 주석처리함 add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0);
?>
 
<!-- 상품진열 10 시작 { -->
<?php
for ($i=1; $row=sql_fetch_array($result); $i++) {
    if ($this->list_mod >= 2) { // 1줄 이미지 : 2개 이상
        if ($i%$this->list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막
        else if ($i%$this->list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째
        else $sct_last = '';
    } else { // 1줄 이미지 : 1개
        $sct_last = ' sct_clear';
    }
 
    if ($i == 1) {
        if ($this->css) {
            echo "<ul class=\"{$this->css}\">\n";
        } else {
            echo "<ul class=\"sct sct_10\">\n";
        }
    }
 
    echo "<li class=\"sct_li{$sct_last}\" style=\"width:{$this->img_width}px\">\n";
 
    if ($this->href) {
        echo "<div class=\"sct_img\"><a href=\"{$this->href}{$row['it_id']}\" class=\"sct_a\">\n";
    }
 
    if ($this->view_it_img) {
        echo get_it_image($row['it_id'], $this->img_width, $this->img_height, '', '', stripslashes($row['it_name']))."\n";
    }
 
    if ($this->href) {
        echo "</a></div>\n";
    }
 
    if ($this->view_it_icon) {
        echo "<div class=\"sct_icon\">".item_icon($row)."</div>\n";
    }
 
	echo "<div class=\"sct_quick\">\n";
	echo "<a href=\"{$this->href}{$row['it_id']}\"><img src=\"".G5_SHOP_URL."/img/btn_view.gif\"><span class=\"sound_only\">상세페이지 보기</span></a>";
	echo "<a href=\"javascript:item_wish(document.fitem,'";
	echo $row['it_id'];
	echo "');\"><img src=\"".G5_SHOP_URL."/img/btn_wish.gif\"><span class=\"sound_only\">위시리스트에 담기</span></a>";
	echo "</div>\n";
 
    if ($this->view_it_id) {
        echo "<div class=\"sct_id\"><".stripslashes($row['it_id'])."></div>\n";
    }
 
    if ($this->href) {
        echo "<div class=\"sct_txt\"><a href=\"{$this->href}{$row['it_id']}\" class=\"sct_a\">\n";
    }
 
    if ($this->view_it_name) {
        echo stripslashes($row['it_name'])."\n";
    }
 
    if ($this->href) {
        echo "</a></div>\n";
    }
 
    if ($this->view_it_basic && $row['it_basic']) {
        echo "<div class=\"sct_basic\">".stripslashes($row['it_basic'])."</div>\n";
    }
 
    if ($this->view_it_cust_price || $this->view_it_price) {
 
        echo "<div class=\"sct_cost\">\n";
 
        if ($this->view_it_cust_price && $row['it_cust_price']) {
            echo "<p><span class=\"sct_c_cost\">소비자가격<span class=\"sct_vat\">(VAT포함)</span></span><del>".display_price($row['it_cust_price'])."</del></p>\n";
        }
 
        if ($this->view_it_price) {
            echo "<p><span class=\"sct_d_cost\">할인가격<span class=\"sct_vat\">(VAT포함)</span></span><strong>".display_price(get_price($row), $row['it_tel_inq'])."</strong></p>\n";
        }
 
        echo "</div>\n";
 
    }
 
    if ($this->view_sns) {
        $sns_top = $this->img_height + 10;
        $sns_url  = G5_SHOP_URL.'/item.php?it_id='.$row['it_id'];
        $sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']);
        echo "<div class=\"sct_sns\" style=\"top:{$sns_top}px\">";
        echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_fb_s.gif');
        echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_twt_s.gif');
        echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_goo_s.gif');
        echo "</div>\n";
    }
?>
<script type="text/javascript">
// 상품보관
function item_wish(f, it_id)
{
	f.url.value = "<?php echo G5_SHOP_URL; ?>/wishupdate.php?it_id=" + <?= $row['it_id']?>;
	f.action = "<?php echo G5_SHOP_URL; ?>/wishupdate.php";
	f.submit();
}
</script>
<?php 
    echo "</li>\n";
}
 
if ($i > 1) echo "</ul>\n";
 
if($i == 1) echo "<p class=\"sct_noitem\">등록된 상품이 없습니다.</p>\n";
?>
<!-- } 상품진열 10 끝 -->

이 질문에 댓글 쓰기 :

답변 1

javascript:item_wish(document.fitem <---여기서 지정하는

fitem이라는 form 이 있어야죠

for문 완전히 끝나고난 부분에 만들어넣으세요

<form name="fitem" method="post">
<input type="hidden" name="it_id[]" id='it_idk' value=''>
<input type="hidden" name="url">

</form>

또한

function item_wish(f, it_id)<-- 이 함수를  /li 안쪽에다 넣어서 반복 되게 하면 안됩니다

for문 끝나고 나서  116행 다음에 한번만 넣으세요

 

그리고 function item_wish(f, it_id)함수에서 아래와 같이 수정

?it_id=" + <?= $row['it_id']?>; ---> ?it_id=" it_id;

$('#it_idk').val(it_id); //<----추가


 

이번엔 value 값이 없다고 나옵니다;

Uncaught TypeError: Cannot set property 'value' of undefined
    at item_wish ((index):540)
    at <anonymous>:1:1




<!-- } 상품진열 10 끝 -->
<form name="fitem" method="post">
	<input type="hidden" name="it_id[]" id="it_idk" value="">
	<input type="hidden" name="url">
</form>

<script type="text/javascript">
	
	// 상품보관
	function item_wish(f, it_id)
	{
		f.url.value = "<?php echo G5_SHOP_URL; ?>/wishupdate.php?it_id=" + it_id;
                $('#it_idk').val(it_id);
		f.action = "<?php echo G5_SHOP_URL; ?>/wishupdate.php";
		f.submit();
	}
</script>


이렇게 추가해 줬구요ㅠ

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

회원로그인

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