동일한 name값을 가진 input중 특정 순서의 값을 post로 넘길때

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
동일한 name값을 가진 input중 특정 순서의 값을 post로 넘길때

QA

동일한 name값을 가진 input중 특정 순서의 값을 post로 넘길때

답변 2

본문

<form name="ftest" id="ftest" method="post" action="../testurl.php" enctype="multipart/form-data">

<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="submit" value="전송">

</form>

 

 

이런식으로 동일한 name값의 input필드가 있고

전송버튼을 눌렀을 경우 

입력한값을 POST로 넘길때요~

사용자가 입력한 값만 넘기고 그 값을 보려면 어떻게 해야할까요??

 

예를 들어서 위에 5개의 필드중에 3번째 칸만 내용을 입력하고 전송버튼을 누르면

딱 그 값만 나오게 하려면 어떻게 해야 하는지 모르곘어요ㅠㅠ

 

testurl.php 페이지에서 

 

$test = $_POST[test];

$test = implode('|',$test);

echo $test;

 

이렇게 하면 

||값|||

 

막 이렇게 나오는데

5개의 필드중에 사용자가 입력한 필드의 값만 딱 넘기려면

어떻게 해야하는지 궁금합니다ㅠㅠ

 

 

이 질문에 댓글 쓰기 :

답변 2

원하시는게 이게 맞는지 모르겠지만...

$test = implode('',$test);

implode 문에서 |를 빼면 입력한 필드만 출력할 수 있긴한데..

이걸 원하신건지....^^;;;

답변감사합니다~!!
제가 질문을 잘못 한거 같아요ㅠㅠ

<form name="ftest" id="ftest" method="post" action="../testurl.php" enctype="multipart/form-data">

<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="submit" value="전송">

<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="submit" value="전송">

<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="submit" value="전송">

<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="submit" value="전송">

<input type="text" name="test[]" id="test_<?=$i?>" class="test" value="">
<input type="submit" value="전송">

</form>

 
이렇게 전송버튼이 input text필드에 다 달려있을때
1번~5번까지 값을 다 입력했더라도
3번째 필드의 전송버튼을 누르면 3번쨰 값만 post로 넘어갈 수 있게 하고 싶은데
어떻게 해야 할까요ㅠㅠ

input text에 name을 주어 선언을 하였다면 POST로 넘어갈 수 밖에 없구요.
말씀 하신 것처럼 구현하고 싶으시면 별도 hidden index를 선언하여(submit_index) submit 버튼을 누를 때 onclick 이벤트로 submit_index에 값을 세팅하여 어떤 submit 버튼이 눌렸는지를 넘겨서 받는 쪽에서 판단하게 하시면 될 것 같습니다.
예를 들면 좋은 코드는 아니지만 아래 처럼 해볼 수 있지요.

<form name="ftest" id="ftest" method="post" action="../testurl.php" enctype="multipart/form-data">
<input type="hidden" name="submit_index" value="">
<input type="text" name="test[]" id="test_1" class="test" value="">
<input type="submit" value="전송" onclick="ftest.submit_index.value=1;">

<input type="text" name="test[]" id="test_2" class="test" value="">
<input type="submit" value="전송" onclick="ftest.submit_index.value=2;">

<input type="text" name="test[]" id="test_3" class="test" value="">
<input type="submit" value="전송" onclick="ftest.submit_index.value=3;">

<input type="text" name="test[]" id="test_4" class="test" value="">
<input type="submit" value="전송" onclick="ftest.submit_index.value=4;">

<input type="text" name="test[]" id="test_5" class="test" value="">
<input type="submit" value="전송" onclick="ftest.submit_index.value=5;">

</form>

testurl.php에서 submit_index 값을 받아서 test 배열에서 값을 가져오면 됩니다.

넘기기 전에 체크해서 인풋을 없애시거나

넘기고 나서 반복문 돌려서 없는걸 걸려내시면 될거 같습니다.

답변감사합니다~!!!ㅠㅠ
제가 질문을 잘목 올린거 같아요~~죄송합니다ㅠㅠ


위에 다시 답변처럼 각 필드에 전송버튼이 다 있을 경우
1번부터 5번까지 값을 다 입력했더라도
3번 필드의 전송버튼을 누르면 3번값만 POST로 넘어가게 하고 싶어서요ㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로