2009-06-30 18 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> 

をしかし、私はもっとして1つのオプションを選択したとき。私は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では[]が追加されていません。しかし、どのようにしてこのコードを修正すれば、すべてのオプションを取ることができますか?

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

詳細はPHP FAQを参照してください:

答えて

15

[]は、名前の後に入れてください。

+0

あなたはforeach($ _ POST ["test"] $ test){...} – Sampson

+0

私の投稿を更新しました。 – sanders

+0

@sanders - あなたが投稿したコードは抜粋なので、残りの部分を見ることなく理解することは本当に難しいです。私が集めることができるところから、fvs変数は選択されたチェックボックスのすべての値を連結したものですが、どこに行くのか分かりません。 – karim79

関連する問題