0

私はこのようなことをしたことがないので、その方法を知りたいです。フィールド出力の場合、サブ配列に 4 つの入力を入れる必要があります

$_POST フォームをサーバーに送信すると、入力の名前が送信されることはわかっていますが、入力に同じ名前を許可するにはどうすればよいですか

例えば

私が必要とするサブ配列は、ここで提供 されているものであり、私が知らないものです。次の入力を取得するにはどうすればよいですか

<input name="offers[]['minspend']" value="15.00"/>
<input name="offers[]['minspend']" value="5.00"/>

<input name="offers[]['minspend']" value="19.00"/>
<input name="offers[]['minspend']" value="8.00"/>

<input name="offers[]['minspend']" value="30.00"/>
<input name="offers[]['minspend']" value="7.00"/>

<input name="offers[]['minspend']" value="100.00"/>
<input name="offers[]['minspend']" value="10.00"/>

これは正しいですか、それとも間違っていますか?

ありがとう

4

3 に答える 3

1

この形

<input name="offers['minspend'][]" value="15.00"/>
<input name="offers['minspend'][]" value="5.00"/>

<input name="offers['minspend'][]" value="19.00"/>
<input name="offers['minspend'][]" value="8.00"/>

<input name="offers['minspend'][]" value="30.00"/>
<input name="offers['minspend'][]" value="7.00"/>

<input name="offers['minspend'][]" value="100.00"/>
<input name="offers['minspend'][]" value="10.00"/>

var_dump($_POST)[フォームメソッド=ポストと仮定]を行う際に与える:

array(1) {
    ["offers"] = > array(1) {
        ["\'minspend\'"] = > array(8) {
            [0] = > string(5)"15.00"
            [1] = > string(4)"5.00"
            [2] = > string(5)"19.00"
            [3] = > string(4)"8.00"
            [4] = > string(5)"30.00"
            [5] = > string(4)"7.00"
            [6] = > string(6)"100.00"
            [7] = > string(5)"10.00"
        }
    }
}

だから、それはあなたがそれを行う方法です。

'minspend の周りの sを削除できます。それらは必要ありません。

あなたはほとんどそこにいました。offers[]['minspend']あなたが得ることを意味します:

array(){
    array(){
        'minspend' => "15.00"
    }
    array(){
        'minspend' => "5.00"
    }
    .. and so on
}

つまり、 のようなことをするとarr[] = 11が array に挿入されarrます。

于 2012-09-13T04:26:23.500 に答える
1

リクエストを処理するバックエンド技術 (java、php など) に少し依存しますが、html の観点から見ると、同じ名前の複数の要素は、同じパラメーター名で値を送信するだけです。特別な [] 構文は必要ありません。

GET /mypage.html?offer=15.00&offer=5.0&offer=19.0 (etc, could be post too)

HTML リクエストの組み込みサポートを提供するほとんどの言語は、このリクエストを「offer」という名前のキーと、送信された値を含む配列またはリストである値を持つマップとして表します。

たとえばhttp://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getParameterMap ()

于 2012-09-13T04:11:13.847 に答える
0

まず、質問から私が理解したことをお話ししましょう。複数の入力フィールドに同じ名前を付けてから、それらすべてを選択して何らかのアクションを実行する必要があります。この場合、別のアプローチを提示したいと思います。同じ名前を付けたいすべてのコントロールに同じクラス(cssclass)を割り当ててみませんか。そうすれば、を使用してそれらをすべて一緒に選択できるようになりますdocument.getElementsByClassName("yourclassName")。これにより、クラス属性が。であるすべての要素の配列が返されますyourclassName。または、名前に固執したい場合はdocument.getElementsByName("elementName");、名前が。である要素の配列を返すを使用できますelementName。お役に立てば幸いです。

于 2012-09-13T04:07:36.253 に答える