item.form.skin.php에서 cartupdate.php로 자바스크립트 변수를 전달하려고 합니다.
본문
바로구매 버튼 클릭시
item.form.skin.php에서 cartupdate.php로 자바스크립트 변수를 전달하려고 합니다.
우선 item.form.skin.php파일내부입니다.
=======================================
function fitem_submit(f)
{
if (document.pressed == "장바구니") {
f.sw_direct.value = 0;
} else { // 바로구매 버튼 클릭시 ...cartupdate.php로 변수 전달해주고 싶습니다.
f.sw_direct.value = 1;
var test = "test"; 로 변수 생성
window.location.href = "cartupdate.php?test="+test;
// cartupdate.php파일로 test변수 전달하려고함
그런데 아래 cartupdate.php파일에 보면 test변수가 전달이 안되요
include_once('./_common.php');
echo "test = ".$_GET['test']; 출력해보면
왜 이러죠?
답변 4
그렇게 고치지 마시고,
<form name="fitem" method="post" action="<?php echo $action_url; ?>" onsubmit="return fitem_submit(this);">
<input type="hidden" name="it_id[]" value="<?php echo $it_id; ?>">
<input type="hidden" name="sw_direct">
<input type="hidden" name="test">
<input type="hidden" name="url">
function fitem_submit(f)
{
if (document.pressed == "장바구니") {
f.sw_direct.value = 0;
} else { // 바로구매 버튼 클릭시 ...cartupdate.php로 변수 전달해주고 싶습니다.
f.sw_direct.value = 1;
f.test.value = 'test';
이렇게 그냥 URL 로 바로 전달하면 안되나요?
window.location.href = "cartupdate.php&test=test;"
그리고 추가로 iframe 으로 바로 페이지를 불러오지마시고 iframe 페이지를 별도 생성 후
내부에서 include 로 해당 cartupdate.php 페이지를 불러오는게 더 안전합니다.
위 방법으로 바로 불러오면 해당 페이지를 사용자가 임의로 주소를 입력하여
불러올 가능성이 있으므로
꼭 별도의 페이지를 만드셔서 include 하세요.
get 을 쓰지말고
변수를 이렇게 출력해보세요.
<?php echo $test ?>