a href post방식으로 여러개 넘기기

a href post방식으로 여러개 넘기기

QA

a href post방식으로 여러개 넘기기

본문

버튼이

 

★  ★  ★  ★ 

 

4개가 있습니다.

 

이걸 각각 클릭할때  각각 다른값(1,2,3,4)이 post방식으로 넘어가려고 합니다.

 

우선 생각해본방식은 input hidden으로 넘기려고하는데 여러개 넘기는게 어렵네요.


<form name="myForm" method="POST">
<input type="hidden" name="myhidden" value="?">
~~//
 
<a href="javascript:document.myForm.submit();">  ★</a>

 

이런식인데

 

별 순서에따라 1,2,3,4를 어떻게 인식?해서 보내고

받는쪽도 어떻게 인식해서 첫번째 별은 1 두번째 별은 2 이렇게 받을 수 있을까요?

이 질문에 댓글 쓰기 :

답변 3

data-* 속성을 추가하여 처리하는 방법이 있습니다.


<form name="myForm" method="POST">
<input type="hidden" name="myhidden" value="?">
~~//
 
<a href="javascript:;" data-val="1">  ★</a>
<a href="javascript:;" data-val="2">  ★</a>
<a href="javascript:;" data-val="3">  ★</a>
<a href="javascript:;" data-val="4">  ★</a>
</form>
<script>
$(function() {
    $('a[data-val]').on('click', function() {
        var selected_val = $(this).data('val');
        $('input[name=myhidden]').val(selected_val);
        $(this).closest('form').submit();
        
        return false;
    });
});
</script>

본문에 제대로 안적어놨습니다 죄송합니다.

별표가 그냥 4개 찍혀있는게 아니라
for문을 통해서 array.length (=4)라서 4개가 출력되는거였습니다.

더 정확히는
for($i=0; $i<$total.length(=4); $i++){
<a href="javascript:document.myForm.submit();" class="<?=$array[$i]?>>  ★</a>
}
이런식입니다.


각 별표마다 javascript:document.myForm.submit() 을 통해서
다음 php파일로 hidden값을 보내지긴 하는데

버튼당 각각 hidden값을 어떻게 줘야하는지 궁금합니다.

마음같으면 class값을 보내주고싶은데..


<form name="myForm" method="POST">
<input type="hidden" name="myhidden" value="?">
~~//

<?php for ($i = 0; $i < count($array); $i++) { ?>
<a href="javascript:;" data-val="<?php echo $array[$i] ?>">  ★</a>
<?php } ?>
</form>
<script>
$(function() {
    $('a[data-val]').on('click', function() { // data-val 속성값을 갖는 모든 버튼에 대해
        var selected_val = $(this).data('val'); // 클릭된 버튼의 특정값 추출
        $('input[name=myhidden]').val(selected_val); // myhidden 에 저장
        $(this).closest('form').submit(); // form submit
        
        return false;
    });
});
</script>


<form name="myForm" method="POST">
<input type="hidden" name="myhidden" value="">
</form>
 
<a href="javascript:mySubmit(1)">★</a>
<a href="javascript:mySubmit(2)">★</a>
<a href="javascript:mySubmit(3)">★</a>
<a href="javascript:mySubmit(4)">★</a>
 
<script>
function mySubmit(val){
  var f = document.myForm;
  f.myhidden.value = val;
  f.submit();
}
</script>

이정도로 하면.....

본문에 제대로 안적어놨습니다 죄송합니다.

별표가 그냥 4개 찍혀있는게 아니라
for문을 통해서 array.length (=4)라서 4개가 출력되는거였습니다.

더 정확히는
for($i=0; $i<$total.length(=4); $i++){
<a href="javascript:document.myForm.submit();" class="<?=$array[$i]?>>  ★</a>
}
이런식입니다.


각 별표마다 javascript:document.myForm.submit() 을 통해서
다음 php파일로 hidden값을 보내지긴 하는데

버튼당 각각 hidden값을 어떻게 줘야하는지 궁금합니다.

마음같으면 class값을 보내주고싶은

자바스크립트하고 PHP 막 헷갈리시는 듯
자스는 for(var i=0;i < array.length;i++)

 

<a href="javascript:mySubmit(1)">별</a> 이부분을 for 문으로 돌리면 되시는거 아닌가요??

답변드린 코드는 <a href ~ </a>가 4개든 40개든 상관없는건데요

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

회원로그인

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