자바스크립트 post 배열변수 전송문제
본문
초보입니다.
<?php
$sql = "select * from g5_point_et where mb_id_et = '{$member['mb_id']}' ";
$qry = sql_query($sql);
for ($i=0; $row=sql_fetch_array($qry); $i++) { //출력물은 값이 있다면 배열변수$row['part']로 모든 값이나옵니다
//예시는 3개 줄(값)
?>
<form name="myForm" action="page2.php" method="post"> // post로 넘김
<input type="hidden" name="toto" value="<? echo $row['part'] ?>"> // name이게 걸립니다.
<tr><td><a href="javascript:mySubmit(<?php echo $i ?>)"><? echo $row['part'] ?></a></td></tr>//링크해서 page2.php 로 넘기고자 합니다.
<?php
}
?>
;
</form>
<script>
function mySubmit(val){
var f = document.myForm;
f.toto.value = val; // 이렇게 하면 값은 여러줄 중 맨 마지막 출력결과값만 넘어갑니다.
f.submit();
}
</script>
// 이렇게만 나옵니다; 가변적으로 나와야할텐데요
예) 첫번째 클릭-- 첫번째 배열값
두번째 클릭-- 두번째 배열값
세번째-- 세번째 배열값
답변 3
<?php
$sql = "select * from g5_point_et where mb_id_et = '{$member['mb_id']}' ";
$qry = sql_query($sql);
?>
<form name="myForm" action="page2.php" method="post">
<input type="hidden" name="toto" value="">
<table>
<?php
while($row=sql_fetch_array($qry)){
?>
<tr><td><a href="javascript:mySubmit('<?php echo $row['part']?>')"><? echo $row['part'] ?></a></td></tr>
<?php
}
?>
</table>
</form>
<script>
function mySubmit(val){
var f = document.myForm;
f.toto.value = val;
f.submit();
}
</script>
for문 사용 방법에 문제가 있네요.
그냥 쉽게 while문을 사용해 봤습니다.
!-->name="toto[<?= $i ?>]" 처럼하시고 배열로 접근해보세요
<input type="hidden" name="toto" value="<? echo $row['part'] ?>">
를
<input type="hidden" name="toto_<?=$i?>" id="toto_<?=$i?>" value="<? echo $row['part'] ?>">
로 하신 후에
<a href="javascript:document.myForm.submit();"><? echo $row['part'] ?></a>
이러게 한번 해보시죠?