WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:コンボボックスにPOSTからの値をセットする

0:[投稿] 魂 [2004/12/17 10:47 ][環境:IE6、Win2000 IE6、Win2000]

はじめまして。
Webコンボボックスの初期表示の変更の仕方を教えて下さい。

下記のWebコンボボックスを御覧下さい。

<SELECT size='1' name='foods'><OPTION value='01' selected>バナナ </OPTION><OPTION value='02'>りんご</OPTION></SELECT>

初期表示はバナナとなっております。
この初期表示を、前画面より送信された
foodsのvalueによって変更したいのですが、
可能でしょうか。
ご存知の方は、設定方法をお教え願います。

申し訳ございませんが、
ご回答、宜しくお願い致します。


1:[回答] hoge [2004/12/17 11:03 ]

CGIでどうぞ。


2:[回答] スライムadmin [2004/12/17 13:35 ]

ご回答、有難うございます!
CGIというのは、ダウンロードしなければ
いけないようですね。
できれば環境を変えずに実現したいと思っております。
プログラムの中でなんとかならんもんでしょうか。。。


3:[回答] コトノハ [2004/12/17 13:50 ]

本来、HTML は静的な文書ですので、
そういった事が実現出来るようにはなっていないです。

cgi,asp,jsp,php などの技術を用いるのが正攻法だと思います。


4:[回答] スライムadmin [2004/12/17 15:28 ]

コトノハさん、有難うございました。

ASPで記述することにしました。

WK_HTML = "<SELECT size='1' name='foods'><OPTION value='01' selected>バナナ </OPTION><OPTION value='02'>りんご</OPTION></SELECT>"
Response.Write(WK_HTML)

この初期表示を、前画面よりPOSTで送信された
foodsのvalueによって変更したいのですが、
可能でしょうか。

色々やってみたのですが、
初期表示の際に前画面からValueを受け取って
表示するのが上手くいきません。

どうぞ、宜しくお願い致します。


5:[回答] コトノハ [2004/12/17 16:02 ]

既に asp が動作出来るサーバだったとは、好都合でしたね。

1.受け取る。
2.判定する。
3.文字列 selected の出力。

私は jsp 一辺倒で asp には明るくありませんが、
上記の三つは asp でも基本的な記述で実現可能だと思います。

色々やってみたとの事ですが、具体的にどのように記述されて、
どのように想定外の結果になりましたか?
それを提示した方が的確で素早い回答が得られると思います。


6:[回答] andi [2004/12/17 16:06 ]

> 色々やってみたのですが、

どのようにコーディングしたのでしょうか?
この前も言いましたが情報を出しましょう(質問の仕方を覚えましょう)。
また、前の質問の件は結局どのように解決されたのでしょうか?

あとハンドルネームが変わってますよ。


7:[回答] スライムadmin [2004/12/17 16:13 ]

コトノハさん、andiさん、
ご回答、有難うございます。
質問が不慣れでご迷惑をおかけいたします。

例えば、
javascriptでこのように記述しました。

<script language="JavaScript">
document.userinfo.foods.value = "02";
</script>

しかし、りんごは表示されず、ばななが表示されてしまいます。


8:[回答] andi [2004/12/17 16:28 ]

えーっと・・・ASPでやるんじゃないの?

>>3
でコトノハさんがJavaScriptでは実現出来ないよ、と仰って

>>4
で「ASPで記述することにしました。」って自分で言ったじゃない。

何故、話がJavaScriptに戻る??


9:[回答] andi [2004/12/17 16:30 ]

ごめんなさい、ひょっとしてサーバサイドJavaScriptって話でしょうか?


10:[回答] スライムadmin [2004/12/17 17:29 ]

申し訳ありません、
下記の間違いです。

<%
WK_HTML = "
<script language='JavaScript'>
document.userinfo.foods.value = '02';
</script>"

Response.Write(WK_HTML)
%>

ちなみに、これをサーバサイドJavaScriptと呼ぶのですか?


11:[回答] andi [2004/12/20 09:46 ]

申し訳ありません。サーバサイドってのは私の勘違いです。
サーバ側でJavaScriptを実行させる為にはrunat="server"が必要でした。

スライムadminさんのコードは、単にクライアント側に
JavaScript構文を含んだ文字列を送信しているだけです。

これではASP側で処理する、とは言えません。

#

ところで、身近にプログラミングについて
教えてくれる方、いらっしゃらないのですか?


12:[回答] コトノハ [2004/12/20 10:49 ]

>ちなみに、これをサーバサイドJavaScriptと呼ぶのですか?

キーワードが分かっている時は先ず検索する癖を付けましょう。

私が前回投稿した内容にある

>1.受け取る。

が行われていないと思います。

最初の画面から次の画面に対して、
想定しているデータが想定しているIDで送信されているのか?
次の画面ではそのデータを受け取る事が出来るのか?

先ずはそのあたりから確認して行きましょう。


13:[回答] dbf [2004/12/20 12:29 ]

欲しい答えは、前画面より送信された値によってselectedを吐き出す場所を変えたい場合のASPの記述方法…でよろしいですか?

<%
変数=画面より送信された値
%>
<SELECT size='1' name='foods'>
<OPTION value='01'
<% If 変数 = "01" Then
Response.write(" selected")
End If %>
>バナナ </OPTION>
<OPTION value='02'
<% If 変数 = "02 Then
Response.write(" selected")
End If %>
>りんご</OPTION>
</SELECT>


14:[完了] スライムadmin [2004/12/21 17:15 ]

andiさん、コトノハさん、dbfさん、
ご回答有難うございました。

dbfさんのやり方で上手くいきました!
OPTIONタグの中に変数を埋め込んで、
そこにSelectedを設定する方法があったんですね!
助かりました!

コトノハさんのご指摘もためになりました。
これからは画面間の情報の受け渡しを都度確認したいと
思います。

andiさんには本当にいつもご迷惑をおかけいたしております。
私の周囲にASP得意な人がいなくて、
つい掲示板に頼りがちになっていました。
なるべくプログラミングの常識的なことは、
掲示板に頼らないように心がけます。

本当に皆さん、有難うございました!

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World