出来るのだ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 %> どなたかご教授いただけますでしょうか。 |
[4301] Re:追加ボタンを押していくことによりセレクトボックスにデータを追加 |
投稿者:YasNet(管理人)さん 2004/05/24 19:44:10 |
こんにちは YasNet(管理人)です。 いまいち理解が出来ていないかもしれません、お許しを > 問題は「グループ」の項目でグループを選んだ瞬間にリスト一覧が(一瞬だけ)消えてしまうということなのです。 追加ボタン押下後は復活するって事ですので リスト一覧ってそもそもどこかに退避しているんですよね。 それを表示すればよいのでは グループ選択した時に Scriptでサブミットさせていますが、 そのあと画面組み立ての処理をしている所を見直しすれば解決するのではないでしょうか・・・ 一瞬ってのも気にはなりますが・・・ 一瞬って、描画中じゃないですよねぇ〜 だとしたら的外れの回答だ・・・失礼しました それでは 失礼致します。 |
[4309] Re:追加ボタンを押していくことによりセレクトボックスにデータを追加 |
投稿者:karyさん 2004/05/26 18:53:26 |
管理人さん、レスどうもありがとうございます。 > 追加ボタン押下後は復活するって事ですので > リスト一覧ってそもそもどこかに退避しているんですよね。 > それを表示すればよいのでは いえ、全て一つの画面でやっています。 リスト一覧用セレクトボックスと追加用ボックスを並べて ボタンを押せば隣のリストボックスに追加できるようにしたいのです。 > グループ選択した時に > Scriptでサブミットさせていますが、 > そのあと画面組み立ての処理をしている所を見直しすれば解決するのではないでしょうか・・・ > > 一瞬ってのも気にはなりますが・・・ > 一瞬って、描画中じゃないですよねぇ〜 > だとしたら的外れの回答だ・・・失礼しました > えっと、一瞬って言うのは、グループを選んだ直後のことです。 選んだ直後は表示されず、グループリスト(3のボックスのこと) から一つ選んで「追加」を押すと、今まで選んでいた一覧(1)が 復活するという現象です。 ちゃんと表示されたままにしたいのですが、 本当にどうすればうまくいくのかわかりません。 下手な説明ですが、ご教授お願いいたします・・ |
[4313] Re:追加ボタンを押していくことによりセレクトボックスにデータを追加 |
投稿者:YasNet(管理人)さん 2004/05/29 19:16:33 |
こんにちは YasNet(管理人)です。 カメレスで、申し訳御座いません。 > から一つ選んで「追加」を押すと、今まで選んでいた一覧(1)が > 復活するという現象です。 復活するって事は、どこかにデータがあるって事ですよね。 そのデータをグループを選んだ直後も設定してあげれば良いだけですよ。 多分再構築していないだけだと思います。 グループを選んだ後のASPをチェックしてみては如何でしょうか 今はこれくらいしかアドバイス出来ません。 力不足で申し訳ありません。 それでは 失礼致します。 > 管理人さん、レスどうもありがとうございます。 > > > 追加ボタン押下後は復活するって事ですので > > リスト一覧ってそもそもどこかに退避しているんですよね。 > > それを表示すればよいのでは > > いえ、全て一つの画面でやっています。 > リスト一覧用セレクトボックスと追加用ボックスを並べて > ボタンを押せば隣のリストボックスに追加できるようにしたいのです。 > > > グループ選択した時に > > Scriptでサブミットさせていますが、 > > そのあと画面組み立ての処理をしている所を見直しすれば解決するのではないでしょうか・・・ > > > > 一瞬ってのも気にはなりますが・・・ > > 一瞬って、描画中じゃないですよねぇ〜 > > だとしたら的外れの回答だ・・・失礼しました > > > えっと、一瞬って言うのは、グループを選んだ直後のことです。 > 選んだ直後は表示されず、グループリスト(3のボックスのこと) > から一つ選んで「追加」を押すと、今まで選んでいた一覧(1)が > 復活するという現象です。 > > ちゃんと表示されたままにしたいのですが、 > 本当にどうすればうまくいくのかわかりません。 > 下手な説明ですが、ご教授お願いいたします・・ > > |
TreeBBS For ASP V.0.1.3 |