アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつも勉強させていただいております。今回は質問をさせていただけないでしょうか。

A.html、B.htmlの両方のファイルの同じ内容のセレクトメニューを
作っています。
A.htmlを起動するとメニューにA.htmlが
B.htmlを起動するとメニューにB.htmlを表示したいと思っています。

いろいろな、サイトを見ると下記で問題ないように思いますが動作しません。
何か問題があるのでしょうか?
IE/Firefoxで動作させていと思っています。

<body>
<FORM>
<SELECT onchange="location.href=this.options[this.selectedIndex].value">
<OPTION value="A.html">A.html</OPTION>
<OPTION value="B.html">B.html</OPTION>
</SELECT>
</FORM>
</body>

それでは、よろしくお願いします。

A 回答 (4件)

あー なるほどー


私、javascriptはあんまりわからないので
とりあえずPHPでの方法を書いてみますね

<?
$select = $_REQUEST[select];
$sel[$select] = "selected";

?>

<FORM>
<SELECT name="select" onchange="location.href=this.options[this.selectedIndex].value; submit();">
<OPTION value="A.html" <? print $sel['A.html'] ?> >A.html</OPTION>
<OPTION value="B.html" <? print $sel['B.html'] ?> >B.html</OPTION>
</SELECT>
</FORM>

こういう風にすると開いたページの方にselectedが付きます
ただ、optionのvalueとそのあとの<?~ っていうやつは全部手打ちに
するので、200ページ分のリストをガーっと一回作らなきゃならんです
(一個作ればあとはコピペでいけますが)

javascriptの方がもしかしたら簡単に出来るかもしれないので
もう少し詳しくやりたいことを書いて、javascript板で質問してみるのも
いいかもしれませんよー うまくいくといいですねー
    • good
    • 0

あれ??AにもBにも同じフォームが入ってるんですよね??



それならA.htmlは
<SELECT onchange="location.href=this.options[this.selectedIndex].value">
<OPTION value="A.html" selected>A.html</OPTION> ←こっちにselected
<OPTION value="B.html">B.html</OPTION>
</SELECT>

B.htmlは
<SELECT onchange="location.href=this.options[this.selectedIndex].value">
<OPTION value="A.html">A.html</OPTION>
<OPTION value="B.html" selected>B.html</OPTION> ←こっちにselected
</SELECT>

でいいんじゃないですか??
単純なことなのに深読みしすぎてしまいましたが、こういうことですよね?

この回答への補足

すいません。
私の書き方が悪かったかもしれません。

A.html、B.htmlのファイルの内容を全く同じにしたいのです。
実は、このファイルが200くらいあるのです。
その為、1つづつ変更することが現実的にできないのです。
それを踏まえていただければ幸いです。

補足日時:2008/12/31 14:17
    • good
    • 0

開いているページの方の<OPTION>にselectedを入れたいってことでしょうか


(Aが開いているときは Aにselected、BならBに)

そうならちょっと長くなりそうなので後でレス入れます
今すぐはちょっとムリなので…スミマセン

この回答への補足

> selectedを入れたいってことでしょうか
はい、その通りです。
<FORM></FORM>の部分を全く同じにして、IE/Firefoxで動作できる
ようにしたいと思っているのです。

> そうならちょっと長くなりそうなので後でレス入れます
> 今すぐはちょっとムリなので…スミマセン
誠に申し訳ございません。
期待してお待ちしておりますので、よろしくお願いいたします。

補足日時:2008/12/31 09:46
    • good
    • 0

試しにFirefox・IE7で試してみたら(たぶん)問題なく動きましたよー


記載のコードを実行→プルダウン表示→AorB選択で対象ファイル表示
という感じになってました(希望の動作ですよね?)

なので、考えられる理由は記載のコード以外ってことになるでしょうねー
質問者さんのブラウザがjavascript無効になってるとか??
(二つのブラウザでどっちもって考えにくいんですけどねぇ)

または、記載のコードの前後に何か余計なのが入っててそっちの絡みで
動かないとか…
もし、実際使うファイルに記載のコード以外が入ってるなら
一回コメントアウトするとか、別ファイルに移植して該当のコードだけで
試してみるのはいかがでしょう

こういうのの原因究明って大抵が消去法になってしまうと思うので
時間はかかるかもしれませんが、少なくとも記載のコードは問題ない
っていう検証は私の環境で証明されたので、別の原因をあたってみましょー
頑張って下さい

この回答への補足

レスありがとうございます。

ソースは、下記だけで、B.htmlに保存しています。
B.htmlを起動すると、ボックスにA.htmlと出ます。
これを、B.htmlにしたいと思っているのです。
どのようにすれば良いか教えていただいてよろしいでしょうか?

<html>
<body>
<FORM>
<SELECT onchange="location.href=this.options[this.selectedIndex].value">
<OPTION value="A.html">A.html</OPTION>
<OPTION value="B.html">B.html</OPTION>
</SELECT>
</FORM>
</body>
</html>

補足日時:2008/12/30 16:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!