0

私は誰かが私が遭遇した非常に奇妙な行動に光を当てることができることを望んでいました。ページの読み込み時にデフォルトで選択された値が設定された単純な選択ボックス(単一値のドロップダウン)があります。奇妙な振る舞いは、ユーザーが選択ボックスの値を変更すると、両方の値(デフォルト値と新しく選択された値)がポストバックで送信されているように見えることです。

<select name="selectBox">
    <option value="1" selected>Item 1</option>
    <option value="2">Item 2</option>
    <option value="3">Item 3</option>
</select>

したがって、ユーザーが項目2を選択すると、投稿時に、のような値を受け取ります"1,2"。明らかに、私は値を受け取ることを期待しています"2"。firebugでデバッグする場合、オプションを選択すると、firebugに表示される値は、期待どおりに選択された単一の値になります。それはとても単純なようです、私は盲目ですか?違いがあれば、フレームワークとしてMVCを使用しています。あなたの助けは大歓迎です。

4

1 に答える 1

1

name要素に属性を追加しますselect

name属性は、送信後にフォームデータを参照するため、およびクライアント側でJavaScriptを使用してデータを参照するために使用されます。新しいフォームコントロールに適用されるたびに一意の値を指定する必要があるid属性とは異なり、指定された値のname属性は、多数のフォームコントロールに適用できます(ただし、実際には、このアプローチはラジオでのみ使用されます。入力ボタン)。 name属性を持つフォーム要素のみが、フォームのaction属性で指定されたページまたはスクリプトに値が渡されることに注意してください。

于 2012-06-22T16:02:15.460 に答える