JavaScriptでHTMLのSELECTタグで選ばれたOPTIONのVALUEを取得するには?2
[上に]
[前に]
[次に]
玉露
2000/02/24(木) 18:13:29
こんにちわ。
初歩的な質問で申し訳有りません。
プルダウンメニューを作ってみたのですが、うまく動きません。
過去のログを見て、そのとおりに作ってるつもりなのですが、なぜかvalueに値が入らないのです。
コードは以下のものです。
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=x-sjis">
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function ButtonClick() {
var tako='';
tako = document.formname.selectname.options[document.formname.selectname.selectedIndex].value;
document.formname.text1.value=tako;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM name="formname">
リストから選択する
<SELECT name="selectname">
<option>バリュウ1です</option>
<option>バリュウ2です</option>
</SELECT>
<INPUT type="text" id=text1 name=text1>
<INPUT type="button" value="Button" id=button1 name=button1 onClick="ButtonClick();">
</FORM>
</BODY>
</HTML>
どなたか御教授して頂けませんでしょうか?
よろしくお願いします。
玉露
2000/02/24(木) 18:16:41
言葉足らずでした。
したい事は単純に、
1.プルダウンメニューで選択する。
2.ボタンを押下
3.テキスト(text1)にvalueを表示
です。
よろしくお願いします。
です
ポケ鬼!!
2000/02/24(木) 18:54:06
スクリプトでoptionの値を取り出す場合、option要素にvalue要素が必須になります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html40/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>サンプル</title>
<script type="text/javascript">
<!--
function ButtonClick(obj)
{
var tako;
tako = obj.selectname.options[obj.selectname.selectedIndex].value;
obj.text1.value = tako;
}
//-->
</script>
</head>
<body>
<form method="get" action="" name="formname" id="formname">
<select name="selectname" id="selectname">
<option value="バリュウ1です">バリュウ1です</option>
<option value="バリュウ2です">バリュウ2です</option>
<input type="text" name="text1" id="text1" value="">
<input type="button" name="button1" id="button1" value="Button" onclick="ButtonClick(formname);">
</select>
</form>
</body>
</html>
ポケ鬼!!
2000/02/24(木) 18:55:10
間違えた・・・
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
玉露
2000/02/24(木) 19:08:11
なるほど!
早速のお返事有り難うございます〜
出来ました!!!いやあああああ有り難い!!!
そうだったんですね。
もうずーっと悩んでたのですが、思い切って質問してみてよかったです。
本当に感謝ですポケ鬼!!さん!!
有り難うございました。
andi
2000/02/24(木) 19:19:27
http://www.tohoho-web.com/js/form.htm
にある[window.]document.form.element.option.text
の事でしょうか?
valueを設定しなくても取得できそう。
ポケ鬼!!
2000/02/24(木) 20:05:41
>valueを設定しなくても取得できそう。
げっ!!本当だ!初めて知った!(=^0^=)
基本的にvalueは省略しないタチなので、、、
玉露
2000/02/25(金) 21:30:18
[[解決]]
ほお!なるほどお勉強になります。
そんな手もあるんですね。
andiさん有り難うございました!!
玉露
2000/02/26(土) 14:23:06
解決マークを付けたのに失礼します。
恥ずかしながら、もう一つ質問してもよろしいでしょうか?
今度はテキストとプルダウンメニューを連動させるように作りたいのですが、これまた何度本を見ても全くうまくゆかず。。。
以下はコードです。
------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html40/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>サンプル</title>
<script type="text/javascript">
<!--
function Button01Click(obj)
{
var tako;
tako = obj.selectname1.options[obj.selectname1.selectedIndex].value;
obj.text1.value = tako;
}
function Button02Click(obj) {
var Val='';
var ValIndex='';
var tako;
tako = obj.selectname1.options[obj.selectname1.selectedIndex].value;
for(i=0;i<obj.selectname1.length;i++){
Val=obj.selectname1.options[i].value;
if(Val==obj.text1.value){
ValIndex=obj.selectname1.options[i].index;
obj.selectname2.options[i].selected;
break;
}
}
obj.text2.value=Val;
obj.text3.value=ValIndex;
}
//-->
</script>
</head>
<body>
<form method="get" action="" name="formname" id="formname">
<P>
プルダウン1
<select name="selectname1" id="selectname1">
<option value="バリュウ1です" selected>バリュウ1です
<option value="バリュウ2です">バリュウ2です
<option value="バリュウ3です">バリュウ3です
<option value="バリュウ4です">バリュウ4です
<option value="バリュウ5です">バリュウ5です
</select>
テキスト1
<input name="text1" id="text1">
<input type="button" name="button1" id="button1" value="ボタン1" onclick="Button01Click(formname);">
</P>
<P>
プルダウン2
<select name="selectname2" id="selectname2">
<option value="バリュウ1です" selected>バリュウ1です
<option value="バリュウ2です">バリュウ2です
<option value="バリュウ3です">バリュウ3です
<option value="バリュウ4です">バリュウ4です
<option value="バリュウ5です">バリュウ5です
</select>
テキスト2
<input name="tex2" id="text2">
テキスト3
<input name="text3" id="text3">
<input type="button" name="button2" id="button2" value="ボタン2" onclick="Button02Click(formname);">
</P>
</form>
</body>
</html>
------------------------------------------------------
1.プルダウン1を適当に選ぶ。
2.ボタン1を押す
アクション
テキスト1にプルダウン1の選ばれているvalueが入る。
4.ボタン2を押す
アクション
テキスト1に入ってるvalueを取り出してプルダウン2の全項目と照合し、合致したら自動的にプルダウン2の選択を合致したデータの位置にする。
(デバック用にテキスト2には合致valueテキスト3には合致Indexを入れています。)
つまり、最終的にプルダウン1をプルダウン2が全く同じところが選択されているようにしたいのです。
とりあえずボタン2を押してデータの照合まではうまく行ったのですが、どうしてもプルダウン2の選択が出来ません。
申し訳ないのですが、御教授頂けないでしょうか?
たこすけ
2000/02/26(土) 14:44:41
> obj.selectname2.options[i].selected;
obj.selectname2.selectedIndex = i;
> <input name="tex2" id="text2">
<input name="text2" id="text2">
玉露
2000/02/26(土) 14:53:44
たこすけ さん有り難うございました!!
無事できました!!
ほんっとにほんっとに有り難うございました。感謝です!!
[上に]
[前に]
[次に]