出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

コンボBOXの値を次の画面へ引継ぎたい   RIEさん [01/06/12 18:51:13] [264]
  Re:コンボBOXの値を次の画面へ引継ぎたい   YasNet(管理人)さん [01/06/12 20:50:09] [265]
    Re:コンボBOXの値を次の画面へ引継ぎたい   RIEさん [01/06/13 9:30:59] [268]
      Re:コンボBOXの値を次の画面へ引継ぎたい   YasNet(管理人)さん [01/06/13 13:34:27] [272]
        Re:コンボBOXの値を次の画面へ引継ぎたい   rieさん [01/06/13 14:03:43] [274]
          Re:コンボBOXの値を次の画面へ引継ぎたい   YasNet(管理人)さん [01/06/13 14:34:28] [275]
            Re:コンボBOXの値を次の画面へ引継ぎたい   rieさん [01/06/13 14:45:45] [276]
              Re:コンボBOXの値を次の画面へ引継ぎたい   YasNet(管理人)さん [01/06/13 15:12:24] [277]
  Re:コンボBOXの値を次の画面へ引継ぎたい   かすみさん [01/06/14 10:28:33] [286]
    Re:コンボBOXの値を次の画面へ引継ぎたい   YasNet(管理人)さん [01/06/14 10:38:53] [287]
      Re:コンボBOXの値を次の画面へ引継ぎたい   かすみさん [01/06/14 10:48:59] [289]
        Re:コンボBOXの値を次の画面へ引継ぎたい   YasNet(管理人)さん [01/06/14 11:16:23] [290]
          Re:コンボBOXの値を次の画面へ引継ぎたい   かすみさん [01/06/14 13:48:41] [291]
            Re:コンボBOXの値を次の画面へ引継ぎたい   YasNet(管理人)さん [01/06/14 14:30:17] [292]
              Re:コンボBOXの値を次の画面へ引継ぎたい   NOIZEさん [01/06/20 1:54:07] [318]

[264] コンボBOXの値を次の画面へ引継ぎたい
投稿者:RIEさん 01/06/12 18:51:13
はじめて質問させていただきます。
ASPでコンボBOXで選択されたデータを元にデータを検索し表示したのですが、コンボBOXの値が
うまく引き継いでこれません。
コンボBOXは「1:いちばん」「2:にばん」などと言う感じで番号と名称を持っているイメージです。
コンボBOXで選ばれた番号の方を検索キーとして使いたいのですが、どうしたら良いでしょうか.

[265] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:YasNet(管理人)さん 01/06/12 20:50:09
こんにちは YasNet です

> ASPでコンボBOXで選択されたデータを元にデータを検索し表示したのですが、コンボBOXの値が
> うまく引き継いでこれません。
> コンボBOXは「1:いちばん」「2:にばん」などと言う感じで番号と名称を持っているイメージです。
> コンボBOXで選ばれた番号の方を検索キーとして使いたいのですが、どうしたら良いでしょうか.
えっと、普通に引き継ぎ出来ますよ。
HTMLのVALUE値の設定ミスでは・・・

では では

[268] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:RIEさん 01/06/13 9:30:59
こんにちは、回答ありがとうございます。

> えっと、普通に引き継ぎ出来ますよ。
> HTMLのVALUE値の設定ミスでは・・・

ごめんなさい、初心者なので普通というのがわかっていません。
今、コンボboxの方は
<SELECT name="combo" nChange="location=this.optionsthis.selectedIndex].value>

<OPTION value="xx.asp?SELECT=<%=DmOraDs("NO") & ":" & DmOraDs("NAME")%>" selected><%=DmOraDs("NO") & ":" & DmOraDs("NAME")%></OPTION>
のような設定をしています。

で、検索ボタンが押されたら再度同じasp(xx.asp)を呼び込んでいます。
そのaspの先頭の上位で

If Request.QueryString("SELECT") <> "" Then
DmsrArrangement = Split(Request.QueryString("SELECT"),":")
DmStrCart_No = DmStrArrangement(0)
DmStrCart_Name = DmStrArrangement(1)
ELSE
DmStrCart_No = SESSION("CART_NO")
DmStrCart_Name = SESSION("CART_NAME")
End If

とやっているのですがRequest.QueryString("SELECT")にうまく値が入っていないようです。
全くの初心者なので見当違いの事をやってるかもしれませんが、それすらもわからず困っています。
どうか、ご教授をお願いします。

[272] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:YasNet(管理人)さん 01/06/13 13:34:27
こんにちは YasNet です

> ごめんなさい、初心者なので普通というのがわかっていません。
> 今、コンボboxの方は
> <SELECT name="combo" nChange="location=this.optionsthis.selectedIndex].value>
>
> <OPTION value="xx.asp?SELECT=<%=DmOraDs("NO") & ":" & DmOraDs("NAME")%>" selected><%=DmOraDs("NO") & ":" & DmOraDs("NAME")%></OPTION>
> のような設定をしています。
>
> で、検索ボタンが押されたら再度同じasp(xx.asp)を呼び込んでいます。
> そのaspの先頭の上位で
>
> If Request.QueryString("SELECT") <> "" Then
> DmsrArrangement = Split(Request.QueryString("SELECT"),":")
> DmStrCart_No = DmStrArrangement(0)
> DmStrCart_Name = DmStrArrangement(1)
> ELSE
> DmStrCart_No = SESSION("CART_NO")
> DmStrCart_Name = SESSION("CART_NAME")
> End If
>
> とやっているのですがRequest.QueryString("SELECT")にうまく値が入っていないようです。

とりあえず、原因を特定する事から始めましょう。
1. Request.QueryString("SELECT") をResponse.Writeで内容確認してみましょう
2. OPTION タグの部分を可変を止めて固定の文字を入れてみて実行してみましょう
これで、原因の特定は出来たのではないでしょうか?

では では
これでも駄目ならカキコして下さいね。

[274] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:rieさん 01/06/13 14:03:43
> とりあえず、原因を特定する事から始めましょう。
> 1. Request.QueryString("SELECT") をResponse.Writeで内容確認してみましょう
> 2. OPTION タグの部分を可変を止めて固定の文字を入れてみて実行してみましょう
> これで、原因の特定は出来たのではないでしょうか?

コンボboxの値を変更した時点ではRequest.QueryString("SELECT")には値が入っています。
いざ検索ボタンを押した時にRequest.QueryString("SELECT")に値が引き継がれていない事が確認できました。

コンボboxの値を変更した時にlocation=this.options[this.selectedIndex].valueとやっているのですが、これが関係あるのでしょうか?


[275] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:YasNet(管理人)さん 01/06/13 14:34:28
こんにちは YasNet です

> > とりあえず、原因を特定する事から始めましょう。
> > 1. Request.QueryString("SELECT") をResponse.Writeで内容確認してみましょう
> > 2. OPTION タグの部分を可変を止めて固定の文字を入れてみて実行してみましょう
> > これで、原因の特定は出来たのではないでしょうか?
>
> コンボboxの値を変更した時点ではRequest.QueryString("SELECT")には値が入っています。
> いざ検索ボタンを押した時にRequest.QueryString("SELECT")に値が引き継がれていない事が確認できました。
>
> コンボboxの値を変更した時にlocation=this.options[this.selectedIndex].valueとやっているのですが、これが関係あるのでしょうか?

えっとですね、処理が今一つ見えていないのですが、検索ボタンと、OPTION の
フォームが別になっているのでは、無いでしょうか?

出来ればHTMLソースそのままあれば回答しやすいです

では では

[276] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:rieさん 01/06/13 14:45:45
> > コンボboxの値を変更した時点ではRequest.QueryString("SELECT")には値が入っています。
> > いざ検索ボタンを押した時にRequest.QueryString("SELECT")に値が引き継がれていない事が確認できました。
> >
> > コンボboxの値を変更した時にlocation=this.options[this.selectedIndex].valueとやっているのですが、これが関係あるのでしょうか?
>
> えっとですね、処理が今一つ見えていないのですが、検索ボタンと、OPTION の
> フォームが別になっているのでは、無いでしょうか?
>
> 出来ればHTMLソースそのままあれば回答しやすいです


検索ボタンとoptionのフォームは同じにしています。
わかりにくいかもしれませんが、以下にコードを書きます。

<FORM name="MITSUMORI" method="post" action="xxx.asp">
<INPUT height="27" type="submit" name="ACTION" value="検索">
<INPUT height="27" type="submit" name="ACTION" value="登録">
<FONT color=Tomato size=+1><%=DmStrMessage%><BR></FONT>
<BR><BR>

<TR>
<TD height="26" align=right><NOBR>カート:</TD>
<SELECT name="CART_NO"onChange="location=this.optionsthis.selectedIndex].value">
<%
DmStrSQL = "SELECT CART_NO, CART_NAME "・・・・・・
dbからデータを取得

If DmOraDs.RecordCount > 0 Then
For i=0 To DmOraDs.RecordCount
If DmOraDs("CART_NO") = DmStrCart_No Then
%>
<OPTION value="xxx.asp?SELECT=<%=DmOraDs("CART_NO") & ":" & DmOraDs("CART_NAME")%>" selected><%=DmOraDs("CART_NO") & ":" & DmOraDs("CART_NAME")%></OPTION>
<%
Else
%>
<OPTION value="xxx.asp?SELECT=<%=DmOraDs("CART_NO") & ":" & DmOraDs("CART_NAME")%>"><%=DmOraDs("CART_NO") & ":" & DmOraDs("CART_NAME")%></OPTION>
<%
End If
DmOraDs.DbMoveNext
If DmOraDs.EOF Then
Exit For
End If
Next
End If
Set DmOraDs=Nothing
Set PbOraDB=Nothing
%>
</SELECT>
</TR>
</FORM>

などとしています。
私もコンボboxを使うのが初めてなので、トンチンカンな事をやっているかもしれませんので
ご指摘をお願いします。

[277] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:YasNet(管理人)さん 01/06/13 15:12:24
こんにちは YasNet です

> > > コンボboxの値を変更した時点ではRequest.QueryString("SELECT")には値が入っています。
> > > いざ検索ボタンを押した時にRequest.QueryString("SELECT")に値が引き継がれていない事が確認できました。
> > >
> > > コンボboxの値を変更した時にlocation=this.options[this.selectedIndex].valueとやっているのですが、これが関係あるのでしょうか?
> >
> > えっとですね、処理が今一つ見えていないのですが、検索ボタンと、OPTION の
> > フォームが別になっているのでは、無いでしょうか?
> >
> > 出来ればHTMLソースそのままあれば回答しやすいです
>
>
> 検索ボタンとoptionのフォームは同じにしています。
> わかりにくいかもしれませんが、以下にコードを書きます。
>
> <FORM name="MITSUMORI" method="post" action="xxx.asp">
> <INPUT height="27" type="submit" name="ACTION" value="検索">
> <INPUT height="27" type="submit" name="ACTION" value="登録">
> <FONT color=Tomato size=+1><%=DmStrMessage%><BR></FONT>
> <BR><BR>
>
> <TR>
> <TD height="26" align=right><NOBR>カート:</TD>
> <SELECT name="CART_NO"onChange="location=this.optionsthis.selectedIndex].value">
> <%
> DmStrSQL = "SELECT CART_NO, CART_NAME "・・・・・・
> dbからデータを取得
>
> If DmOraDs.RecordCount > 0 Then
> For i=0 To DmOraDs.RecordCount
> If DmOraDs("CART_NO") = DmStrCart_No Then
> %>
> <OPTION value="xxx.asp?SELECT=<%=DmOraDs("CART_NO") & ":" & DmOraDs("CART_NAME")%>" selected><%=DmOraDs("CART_NO") & ":" & DmOraDs("CART_NAME")%></OPTION>
> <%
> Else
> %>
> <OPTION value="xxx.asp?SELECT=<%=DmOraDs("CART_NO") & ":" & DmOraDs("CART_NAME")%>"><%=DmOraDs("CART_NO") & ":" & DmOraDs("CART_NAME")%></OPTION>
> <%
> End If
> DmOraDs.DbMoveNext
> If DmOraDs.EOF Then
> Exit For
> End If
> Next
> End If
> Set DmOraDs=Nothing
> Set PbOraDB=Nothing
> %>
> </SELECT>
> </TR>
> </FORM>
>
> などとしています。
> 私もコンボboxを使うのが初めてなので、トンチンカンな事をやっているかもしれませんので
> ご指摘をお願いします。
答えが出ました。
サブミットの内容を取得するには、FORM(”MITSUMORI”)を使わないと駄目ですね。

locationを使うときはQueryStringで良いですが・・・

では では

[286] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:かすみさん 01/06/14 10:28:33
> はじめて質問させていただきます。
> ASPでコンボBOXで選択されたデータを元にデータを検索し表示したのですが、コンボBOXの値が
> うまく引き継いでこれません。
> コンボBOXは「1:いちばん」「2:にばん」などと言う感じで番号と名称を持っているイメージです。
> コンボBOXで選ばれた番号の方を検索キーとして使いたいのですが、どうしたら良いでしょうか.

おはようございます。私も質問させて下さい。
コンボboxのリストをDBから表示したい場合なのですが、リストには
1:いちばん
2:にばん
3:さんばん
と表示されていたとしますよね。

そのリストの中から「2:にばん」というのを選択して、検索ボタンを押した時に
「2:にばん」が選択されたままにしていて欲しいのですが、コンボBOXを再描画してしまう為
上記の検索順に「1:いちばん」が表示されてしまいます。
選択した情報をそのまま表示させるにはどうしたら良いのでしょうか?

[287] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:YasNet(管理人)さん の <ホームページ> 01/06/14 10:38:53
こんにちは YasNet です
 
> そのリストの中から「2:にばん」というのを選択して、検索ボタンを押した時に
> 「2:にばん」が選択されたままにしていて欲しいのですが、コンボBOXを再描画してしまう為
> 上記の検索順に「1:いちばん」が表示されてしまいます。
> 選択した情報をそのまま表示させるにはどうしたら良いのでしょうか?
画面自体をASPで、表示しなければ、出来ないとおもいますよ。
プログラム内で、Selectedを指定すれば、出来ますよ。
 
では では

[289] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:かすみさん 01/06/14 10:48:59
> 画面自体をASPで、表示しなければ、出来ないとおもいますよ。
> プログラム内で、Selectedを指定すれば、出来ますよ。

できました。ありがとうございます。
それで、もう1つ質問なのですが、コンボboxで選択した内容を別のtextに書きうつす事は
できるでしょうか?
例えば「2:にばん」を選択した時に別のtextへ「2」という値をセットするというような
感じなのですが。
SESSIONを使うとできているように見えるのですが、正解なのでしょうか??

また、画面を起動させた時は固定で一番上の値をセットしておきたいのですが、その判断も
できるのでしょうか?

[290] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:YasNet(管理人)さん の <ホームページ> 01/06/14 11:16:23
こんにちは YasNet です
 
> それで、もう1つ質問なのですが、コンボboxで選択した内容を別のtextに書きうつす事は
> できるでしょうか?
> 例えば「2:にばん」を選択した時に別のtextへ「2」という値をセットするというような
> 感じなのですが。
> SESSIONを使うとできているように見えるのですが、正解なのでしょうか??
>
> また、画面を起動させた時は固定で一番上の値をセットしておきたいのですが、その判断も
> できるのでしょうか?
これも、ASPのプログラムで可能です。
Selectされている値を、そのままテキストにVALUEで渡せばOKです
もし、セレクトされた瞬間にテキストを変更したいのであれば、JAVAScriptでしなければ
行けません。(ブラウザ限定でVBScriptでも可能)
 
では では
 
では では

[291] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:かすみさん 01/06/14 13:48:41
> これも、ASPのプログラムで可能です。
> Selectされている値を、そのままテキストにVALUEで渡せばOKです
> もし、セレクトされた瞬間にテキストを変更したいのであれば、JAVAScriptでしなければ
> 行けません。(ブラウザ限定でVBScriptでも可能)

できればセレクトされた瞬間にtextに入れたいのですが、JAVAScriptというのは
全く知らないので困ってしまいました。
onchangeイベントか何かで、自分のフォームの項目名のvalueにコンボboxで選択された項目
のvalueをセットすれば良いという事でしょうか?

ASPのプログラムでも可能との事ですが、どのタイミングでやる事になるのでしょうか?

[292] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:YasNet(管理人)さん の <ホームページ> 01/06/14 14:30:17
こんにちは YasNet です
 
> できればセレクトされた瞬間にtextに入れたいのですが、JAVAScriptというのは
> 全く知らないので困ってしまいました。
> onchangeイベントか何かで、自分のフォームの項目名のvalueにコンボboxで選択された項目
> のvalueをセットすれば良いという事でしょうか?
そうですね。

> ASPのプログラムでも可能との事ですが、どのタイミングでやる事になるのでしょうか?
onchangeイベントが発生したタイミングで、SUBMIT等でASPを再度呼び出し、
値をセット後再表示するイメージです。
 
頻繁に値を変える場合は、JAVAScriptを使わないとレスポンスが悪すぎて使えません。
これを機会に、少しだけ勉強してみてはどうでしょうか?
 
って私も得意ではありませんが・・・
ヤフーでJAVAScriptを検索すると色々情報が取得できると思いますよ。
 
では では

[318] Re:コンボBOXの値を次の画面へ引継ぎたい
投稿者:NOIZEさん 01/06/20 1:54:07
上記の場合JAVASCRIPTを使うのが懸命でしょう。
XML+DOMでも可能ですがJAVAScriptで実現可能なものは、すべてScriptを作った方がいいです
クライアントのブラウザで実行させた方が、サーバーの負担が少なくてすむからです。
超簡単なScript書きましたので参考にしてください
<html>
<head>
<title></title>
<script language="JavaScript">
function txtLoad()
{
//sel = document.f1.test.selectedIndex;
//document.f1.testTXT.value=document.f1.test[sel].value;
//もしくは
document.f1.testTXT.value=document.f1.test.value;
}
</script>
</head>
<body>
<form name="f1">
<select name="test" onchange="txtLoad()">
<option value=a>a</option>
<option value=b>b</option>
<option value=c>c</option>
<option value=d>d</option>
<option value=e>e</option>
</select>
<input type="text" name="testTXT">
</form>
</body>
</html>
ちなみにXMLを使用するとSELECT部分の中身だけを変更することが可能です。
例えば都道府県の愛知県を選択したら、隣にあるSELECTBOXの中には愛知県内の市のみが
DBからロードされるといった技が使えます。
これが「ASPのプログラムでも可能」と言われてたことなのでしょう。



TreeBBS For ASP V.0.1.3
Program By YasNet