ウェブサイトのトップページに、サイト全体の言語を切り替えるフォームを設置し、フォーム内のオプションで言語を選んだら自動的に言語が切り替わるようにしたいと考えています。


まずは、
http://www6.plala.or.jp/mamoho/HTML/lesson6/pull.html
に書いてあるとおり、以下のようなファイルをつくってみましたが、
ブラウザに読み込んでも機能しません。何が間違っているのかを、
教えてくださいませんか。私は、html なら少しばかり知っていますが、
java スクリプトを書いた経験がありません。

よろしくお願いします。

<HTML>
<HEAD>
<TITLE>サンプル</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--function menuLink(linkLoc){ if(linkLoc !="") { window.location.href=linkLoc;} }//-->
</SCRIPT>
</HEAD>

<BODY>
<form name="form2">
<select name="menu2" onChange="MM_jumpMenu('parent',this,0)">
<option>▼ 選択してください</option>
<option value="http://www.yahoo.co.jp/">Yahoo Japan</option>
<option value="http://www.google.co.jp/">Google</option>
<option value="http://www.infoseek.co.jp/">infoseek</option>
<option value="http://www.goo.ne.jp/">goo</option>
</select>
</form>
</BODY>

</HTML>

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/11/27 16:08:45

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

selectタグのonChangeイベントで呼び出しているのはMM_jumpMenuという関数です
ところが・・・、JAVAScriptにはmenuLinkという関数しかありません・・・

参考にしておられる pull.html では動いているので、
ソースコードから必要な部分のみ抜き出してみました

pull.html ならびにご自身が作られたものと比較しながら学んでください

なお、
ブラウザによってはローカルに保存したままだと動かないかもしれませんが、
(その原因と対策は本件とは別問題なので割愛します)
その場合はサーバーにアップロードしてみてください

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
    <title>プルダウンメニューを使ったリンク(ホームページは難しくない)</title>
    <script language="JavaScript" type="text/JavaScript">
    <!--
        function MM_jumpMenu(targ,selObj,restore){ //v3.0
          eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
          if (restore) selObj.selectedIndex=0;
        }
    //-->
    </script>
</head>
<body>
    <form name="form2">
        <select name="menu2" id="menu2" onChange="MM_jumpMenu('parent',this,0)">
            <option>▼ 選択してください</option>
            <option value="http://www.yahoo.co.jp/">Yahoo Japan</option>
            <option value="http://www.google.co.jp/">Google</option>
            <option value="http://www.infoseek.co.jp/">infoseek</option>
            <option value="http://www.goo.ne.jp/">goo</option>
        </select>
    </form>
</body>
</html>
id:windofjuly

login.htmlとloginJP.htmlの切り替えに成功しましたね
おめでとうございます

ところで、、、
切り替えは英語と日本語だけですか?

日本語のページから日本語のページへ飛ぶ必要なんてないですよね?
・英語ページlogin.html には 日本語ページloginJP.html へのリンクボタン
・日本語ページloginJP.html には 英語ページlogin.html へのリンクボタン
このほうがシンプルだと思いますよ

シンプルって方向で話を続けますけど、、、

プルダウンメニューを表示して選ぶって形だと、
どのような言語に対応しているかがパッと見ただけでは判りませんし、
プルダウンメニューを表示してから選択という2ステップよりも、
並んでいる国旗のどれかをクリックすれば変わるって1ステップのほうが判り易いし楽ですよ
 
それと、、、自分の身分を明かす必要性は無いですし、
場合によっては宣伝行為と思われる場合もありますので、
コメントは消しておいたほうがいいかもしれないです

出来ればなんですが・・・
英語がお得意であるならば、暇なときに回答してあげてください
いいかげんな機械翻訳を回答に貼り付ける人ばかりで困ってるんです

いろいろすみませんが、ご検討を

2011/11/27 16:19:59
id:schytayler

おっしゃるとおり、コメントは削除しました。気遣いに感謝します。
それと、英語についての質問に回答することは、喜んで引き受けます。ついさきほど、一件の質問にコメントを足したばかりです。

それから、言語の切り替えについては、きのうまでは、一方の言語のページからもう一方へのリンクボタンでシンプルに済ませていたんですよ。ところが、先月から OpenPNE で SNS を造っていて、その SNS にはありとあらゆる言語圏からメンバーを募りたいので、今後、スタティックなページを第三・第四の言語で書く必要があるだろうと想像し、今後に備えてプルダウンメニューとしました。

しかし、国旗をクリックすれば目的の言語にたどりつくというやり方は面白そうなので検討してみます。ありがとうございます。

2011/11/27 16:29:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません