飛ぶプルダウンを複数作りたい
- 0 名前: TOM : 2004/12/16 22:31
- 選択したページへ飛ぶプルダウンメニューの作り方は
http://www.tagindex.com/javascript/link/select1.html
で分かったのですが、これを同一ページに複数作ろうとすると、どうもうまくいきません。
JAVAスクリプトの知識があまりないだけかもしれませんが、どうすれば良いのでしょう?
- 1 名前: むむりく : 2004/12/17 02:55
- 具体的なアドバイスを得るため、
是非うまくいかなかったソースの提示を。
- 2 名前: U D : 2004/12/17 13:06
- ひょっとして全てコピペしたのであれば、
それぞれ FORM の NAME が"form1"に、
SELECT の NAME が"select"になっているのでは?
それだといくらコピーしてもうまくいきませんが・・・
- 3 名前: TOM : 2004/12/17 22:28
- うまくいかなかったソースは、
<html>
<HEAD>
<title></title>
<SCRIPT TYPE="text/javascript">
<!--
var target = "main";
function jump(){
var url = document.form1.select.options[document.form1.select.selectedIndex].value;
if(url != "" ){
if(target == 'top'){
top.location.href = url;
}
else if(target == 'blank'){
window.open(url, 'window_name');
}
else if(target != ""){
eval('parent.' + target + '.location.href = url');
}
else{
location.href = url;
}
}
}
function jump(){
var url = document.form2.select2.options[document.form2.select2.selectedIndex].value;
if(url != "" ){
if(target == 'top'){
top.location.href = url;
}
else if(target == 'blank'){
window.open(url, 'window_name');
}
else if(target != ""){
eval('parent.' + target + '.location.href = url');
}
else{
location.href = url;
}
}
}
// -->
</SCRIPT>
</HEAD>
<body>
<FORM NAME="form1">
<SELECT NAME="select" onChange="jump()">
<OPTION>(プルダウン1)
(省略)
</SELECT>
</FORM>
<FORM NAME="form2">
<SELECT NAME="select2" onChange="jump()">
<OPTION>(プルダウン2)
(省略)
</SELECT>
</FORM>
</body>
</html>
です。
今は簡略化のためプルダウンは2つですが、今後プルダウンの数を増やしていく予定です。
- 4 名前: むむりく : 2004/12/18 01:47
- 関数名の jump() が同じになっているからですね。
他のところは全部変えていたのに、惜しいです。
でも、まあ、プルダウンメニューが増えるたびに、
同じようなことを何度も書くのは手間なので……
head に。
<script type="text/javascript">
<!--
function jump(thisForm){
parent.main.location.href = thisForm.options[thisForm.options.selectedIndex].value;
}
//-->
</script>
body はこんな感じ。
<form name="form1">
<select name="select" onchange="jump(this)">
<option>(プルダウン1)
(省略)
</select>
</form>
<form name="form2">
<select name="select2" onchange="jump(this)">
<option>(プルダウン2)
(省略)
</select>
</form>
これでいけると思います。
- 5 名前: TOM : 2004/12/18 11:13
- できました。試しにプルダウンの数を増やしても、ちゃんと動作しました。
ありがとうございました。