미채택 완료

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

2017-02-13 (월) 19:10:02 3,387

list.10.skin.php 에서 

적당한 위치에

Copy
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 끝나기 전에

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

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

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

Copy
(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 파일 코드입니다

Copy
<?phpif (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨// 중복으로 호출시 G5_SHOP_CSS_URL이 변수명으로 출력됨 따라서, 주석처리함 add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0);?> <!-- 상품진열 10 시작 { --><?phpfor ($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\">&lt;".stripslashes($row['it_id'])."&gt;</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개 / 댓글 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); //<----추가


답변에 대한 댓글 1개

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

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



[code]
<!-- } 상품진열 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>
[/code]

이렇게 추가해 줬구요ㅠ

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