1

私はかなり新しく、ASP があまり得意ではないので、ご容赦ください。

私の HTML フォームには、以下のような複数選択ドロップダウンがあります。

 <span><select id="movieMonster" name="movieMonster" multiple="multiple">
      <option value="">Please select all that apply</option>
      <option value="The Mummy">The Mummy</option>
      <option value="Dracula" selected>Dracula</option>
      <option value="The Wolfman">The Wolfman</option>
      <option value="The Gillman" selected>The Gillman</option>
      <option value="The Wasp Woman">The Wasp Woman</option>
 </select></span>

送信ボタンが押されたときに、選択した項目を ASP ファイルに転送するために、あらゆる場所を調べてあらゆることを試みました。ただし、転送される値は 1 つだけです。

ASPで以下を使用しています:

 Mnstr = Trim(Upload.Form("movieMonster"))

私が見つけた最も近いものは、選択したすべてのアイテムを表示するコードでしたが、コードはフォームと同じ HTML ページで使用する必要があります。ASP に転送するデータを取得できないことを除けば、うまく機能します。

私が見つけたコードは次のとおりです。

 <!DOCTYPE html>
 <html>
 <head>

 <style>
      div { color:red; }
 </style>

 <script src="http://code.jquery.com/jquery-latest.js"></script>

 </head>
 <body>

      <select name="garden" multiple="multiple">
           <option>Flowers</option>
           <option selected="selected">Shrubs</option>
           <option>Trees</option>
           <option selected="selected">Bushes</option>
           <option>Grass</option>
           <option>Dirt</option>
      </select>

      <div></div>

      <script>
           $("select").change(function () {
                var str = "";
                $("select option:selected").each(function () {
                     str += $(this).text() + " ";              
                });
           $("div").text(str);
           })        
           .trigger('change');
      </script>

 </body>
 </html>

上記の<div></div>は、選択したアイテムを印刷するものです。私は自分のためにコードを調整し、必要に応じて div の使用を別の変数に変更しましたが、それはうまくいきました。複数選択ドロップダウンから選択されたすべての項目を出力しますが、その情報を ASP ファイルに渡すことができません。

ASP に情報を渡すことができなかったので、非表示の入力も使用してみましたが、それもうまくいきませんでした。

誰かが私が必要とすることを簡単に行う方法を知っていれば、本当に感謝しています.

これを行う簡単な方法が必要だと確信していますが、どこにも見つけることができませんでした。

4

1 に答える 1

0

これは、アップロード コンポーネントの問題です。参照: Upload.Form は、複数選択コントロールの最初に選択された項目のみを返します

movieMonster回避策が示すように、ASP ページで指定されたフォーム フィールドをループする必要があります。

あなたのaspコードは次のようになります:

Mnstr = ""
For Each Item in Upload.Form
  If Item.Name = "movieMonster" Then 
    Mnstr = Mnstr & Item.Value &","
  End If
Next 

'remove the extra comma if there is one
if (trim(Mnstr)<>"") then
    Mnstr = Left(Mnstr,len(Mnstr)-1)
end if
于 2013-01-02T05:59:12.437 に答える