出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
[4299] 追加ボタンを押していくことによりセレクトボックスにデータを追加 |
投稿者:karyさん 2004/05/24 11:48:18 |
いつも拝見させていただいております。処理の仕方がわからない所があるので 教えていただきたいのですが。 メール送信リストを作成しているのですが、複数の送信先を登録する処理をしたいのです。 まずテキストボックスがありまして、そこにアドレスを手入力し、隣の「追加」ボタンを押すと その横のセレクトボックス(1)に追加されていくという処理にしようとしています。 入力を何回もすることによって送信先をリストに溜めていくという感じです。 さらに、テキストボックスだけではなくて別にセレクトボックス(2)を作り、その中の項目を選ぶと DBから引っ張ってきたアドレスがさらに別のセレクトボックス(3)に表示されます。 たとえば「グループ」のセレクトボックス(2)に「A」「B」「C」の項目があったとして、 「A」を選ぶとAのグループのアドレスがDBから引っ張られて、別のセレクトボックス(3)に表示され、 その中の1つを選択して「追加」を押すと、セレクトボックス(1)に追加していくということです。 手入力と選択ボックスの両方から追加できるようにしたいのです。 そこで、入力or選択してセレクトボックス(1)に溜めていくという処理はなんとか作成できたのですが、 問題は「グループ」の項目でグループを選んだ瞬間にリスト一覧が(一瞬だけ)消えてしまうということなのです。 その後にアドレスを選んで「追加」を押すと今まで選んだ一覧が再び表示されるのですが、選んだ瞬間だけ 消えてしまうのが困っています。これを選んだ瞬間も表示されたままにさせておく処理を教えていただきたいです。 主にPOSTしてデータを渡しています。Javascriptはあまり使わずASPでやる方法を知りたいのですが・・ ソースを一部書きます。(簡略化しています) <select name="mailaddress"> <% If mailad="" and mailad2="" Then %> (*mailadは手入力されたアドレス mailad2はセレクトボックスで選択されたアドレス <option value="指定なし">--------------指定されていません-------------- <% Else %> <% If Request.Form("sub1")<>"" or Request.Form("sub2")<>"" Then %> (*sub1は手入力からの追加ボタン、sub2はセレクトボックス(3)からの追加ボタン ) <% dim mailadArr '配列 dim i mailadArr=FromSession() 'Sessionから配列に戻す関数 Redim preserve mailadArr(UBound(mailadArr)+1) If Request.Form("sub1")<>"" Then mailadArr(UBound(mailadArr))=mailad End If If Request.Form("sub2")<>"" Then mailadArr(UBound(mailadArr))=mailad2 End If Call ToSession() '配列からSessionにいれる関数 For i=0 to Ubound(mailadArr) %> <option value="<% =mailadArr(i) %>"><% =mailadArr(i) %> <% Next %> <% End If %> <% End If %> </select> <input type="submit" name="sub1" value=" 追加 "> <input type="text" name="mailad" size="54"> グループ <select name="choose_group" onChange="submit();return true"> グループが選択されたらそのアドレスを表示させる処理 <option value="<%=ObjRS("グループ") %>ObjRS("グループ") </select> <input type="submit" name="sub2" value=" 追加 "> <select name="mailad2"> <% rs_group=Request.Form("choose_group") If rs_group<>"" Then StrSQL="select メールアドレス from 名簿 " StrSQL=StrSQL & " where ((名簿.グループ)='" & rs_group & "')" Set ObjRS=ObjConn.Execute(StrSQL) (DBからひっぱる) If not ObjRS.EOF Then Do While not ObjRS.EOF %> <option value="<%=ObjRS("メールアドレス") %>"><% =ObjRS("メールアドレス") %> <% ObjRS.MoveNext Loop End If End If %> </select> <% Function FromSession() 'Sessionから配列に戻す関数 'mailadArrLocal=Session("storedArray") FromSession=Session("storedArray") End Function Sub ToSession() '配列からSessionにいれる関数 Session("storedArray")=mailadArr End Sub %> どなたかご教授いただけますでしょうか。 |
![]() ![]() |
![]() ![]() ![]() |
TreeBBS For ASP V.0.1.3 |