73

複数選択の値をフォームに投稿するにはどうすればよいですか? 送信を押しても、選択した値は投稿されません。

<form id="form" action="" method="post">
    <div>
        <select id="inscompSelected" multiple="multiple" class="lstSelected">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>                
        </select>
        <input type="submit" value="submit">
    </div>
</form>
4

2 に答える 2

139

name属性を追加する必要があります。

これは複数選択であるため、HTTP レベルでは、クライアントは複数の名前と値のペアを同じ名前で送信するだけですmethod="GET": someurl?something=1&something=2&something=3

PHP、Ruby、およびその他のライブラリ/フレームワークの場合[]、名前の最後に角括弧 ( ) を追加する必要があります。フレームワークはその文字列を解析し、配列などの使いやすい形式で表示します。

リクエストを手動で解析する以外に、複数の値にアクセスする言語/フレームワーク/ライブラリに依存しない方法はありません。それらはすべて異なる API を持っているためです。

PHP の場合、以下を使用できます。

<select name="something[]" id="inscompSelected" multiple="multiple" class="lstSelected">
于 2012-07-23T16:34:44.673 に答える