0

私は多くの質問を読み、何時間も検索を行いましたが、私がまさに望んでいるものに対する解決策を見つけることができません.

<form method="POST">
  <input type="checkbox" name="fruit" value="0" />No Preference
  <input type="checkbox" name="fruit" value="1" />Apple
  <input type="checkbox" name="fruit" value="2" />Orange
  <input type="checkbox" name="fruit" value="3" />Banana
</form>

print_r($_POST);

チェックボックスの値 0 から 1,2,3 の検証は既に行っているため、それらは逆になり、要素名のループ JavaScript 検索を使用して行いました。問題は、配列名に変更せずに要素名を使用する必要があることです。(例: Fruit => Fruit[] )。したがって、この要素名を使用して、顧客が入力したすべてのチェック済み情報を取得する必要があります。これは ASP で実行できることを見てきましたが、かなり前のことなので、その方法を理解できませんでした。

私の質問は、要素名を配列形式 (たとえば Fruit => Fruit[] ) に変更せずにこれを行う方法を理解できる人はいますか? TT

どんな助けでも大歓迎です。ありがとうございました..

4

2 に答える 2

0

お察しのとおり、同じ名前を複数回送信すると、最新の名前が以前の名前を上書きします。解決策は隠しフィールドを設定することです

<input type="hidden" value="" name="foobar_as_array">

jQueryまたはプレーンJSを使用して、送信時に値をそのフィールドに連結します

<form ... onSubmit=$('#foobar_as_array').value(...concatenate them...);">
于 2013-05-28T11:16:36.887 に答える
-3

この行を使用して検証を変更しました:

var GenBox = eval("document.forms['SubmitSearchAll']['" + oCheckBox+"[]']");

そしてそれは私を大いに助けます。これで解決しました。

貢献してくれてありがとう。

于 2013-05-29T15:39:58.797 に答える