2009-06-30 11 views
2

벽에 머리를 두드리는 것 같이 겉으로보기에는 죽은 듯합니다.여러 옵션 선택

는 여기있다 :

<html> 
    <head></head> 
    <body> 
     <form method="post" action="action.php"> 
      <div><input type="checkbox" name="test" value="Newspaper"> <span >Newspaper</span></div> 
      <div><input type="checkbox" name="test" value="PC"> <span >PC</span></div> 
      <div><input type="checkbox" name="test" value="Home"> <span >Home</span></div> 
      <div><input type="checkbox" name="test" value="Dont_know"> <span >dnunno</span></div> 
      <input type="submit" name="Submit" value="send"> 
     </form> 
    </body> 
</html> 

을하지만 두 개 이상의 옵션을 선택하면. 내 print_r($_POST); 문에서 선택한 모든 옵션 대신 마지막으로 선택한 옵션 만 표시됩니다. 어떻게 처리해야합니까?

업데이트 : 나머지 코드를 확인한 결과이 코드는 일부 JavaScript에서 수행 된 것으로 확인되었습니다.

else if (aform.validatorArr[i][4] == "checkbox") { 
    var fvs = ""; 
    eval("var chkbArray=aform." + aform.validatorArr[i][1] + ";"); 
    if (aform.validatorArr[i][2] == "cb_true") { 
     for (k = 0; k < chkbArray.length; k++) { 
      if (chkbArray[k].checked) { 
       fvs += chkbArray[k].value; 
       console.log(fvs); 
      } 
     } 
     if (fvs == false) { 
      s += aform.validatorArr[i][3] + "\n"; 
     } 
    } 
} 

그래서 내 HTML에 []가 추가되지 않았습니다. 그러나 모든 옵션을 취할 수 있도록이 코드를 어떻게 수정할 수 있습니까?

답변

15

는 이름 뒤에 [] 넣어 :

<input type="checkbox" name="test[]" value="Newspaper"> 

은 자세한 내용은 PHP FAQ를 참조하십시오.

+0

다음 foreach 수 있습니다 ($ _ POST [ "test"] $ test) {...} – Sampson

+0

감사 내 게시물을 업데이트했습니다. – sanders

+0

@sanders - 게시 한 코드가 발췌이며, 나머지 상황을 보지 않고서는 이해하기가 정말 어렵습니다. 내가 수집 할 수있는 것으로부터, fvs 변수는 선택된 체크 박스의 모든 값을 연결 한 것이지만 어디로가는 지 알 수 없습니다. – karim79