![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
web上のjavascript入門ページなどを参照しながら学習中ですが詰まってしまいました。よろしくお願いします。
1. topページにセレクトボックスを設置。
2. セレクトされた内容に応じて、現在のウインドウを書き換えた後topページと同じセレクトボックスを設置。
3. 2を繰り返す。
このような動作をさせたいのですが、現在のウインドウを書き換えることは出来るのですがセレクトボックスを設置しようとするとエラーになります。
script_test01.htmlの内容
--------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<script type='text/javascript' src='script_test01.js'>
</script>
<br>
<form name='form_0'>
<select onchange='rewrite()' name='sel_0'>
<option>A or B</option>
<option>A</option>
<option>B</option>
</select>
</body>
</html>
--------------------------------------------------
script_test01.jsの内容
--------------------------------------------------
function rewrite() {
var sel_in =document.form_0.sel_0.options.selectedIndex;
var sel_name = document.form_0.sel_0.options[sel_in].text;
document.write('<html>\n');
document.write('<head>\n');
document.write('<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">\n');
document.write("<script type='text/javascript' src='script_test01.js'>\n");
document.write("</script>\n");
document.write('</head>\n');
document.write('<body>\n');
document.write(sel_in,' : ',sel_name,'<br>\n');
/*↓この部分がうまくいかない
document.write('<br>\n');
document.write('<form name='form_0'>\n');
document.write('<select onchange='rewrite()' name='sel_0'>\n');
document.write('<option>A or B</option>\n');
document.write('<option>A</option>\n');
document.write('<option>B</option>\n');
document.write('</select>\n');
/*↑この部分がうまくいかない
document.write('</body>\n');
document.write('</html>\n');
}
--------------------------------------------------
script_test01.jsのコメントアウトをはずすとエラーになります。
script_test01.js内でさらに自分自身を記述している部分辺りなど、なにかおかしなことをやっていのではという自覚はありますが、よくわかりません。
あわせて質問ですが、.htmlと.jsはEUCで作成しcharsetもEUC-JPを指定しています。
topページをブラウザのエンコードで確認すると当然「日本語[EUC]」となっていますが、セレクトボックス選択後書き換えられたページを確認すると、「Unicode」なっていますがなぜでしょうか?「日本語[EUC]」に出来ないでしょうか?
No.1ベストアンサー
- 回答日時:
document.write('<form name='form_0'>\n');
document.write('<select onchange='rewrite()' name='sel_0'>\n');
この2行。’の中に’が入っている。
\’のようにエスケープするか、”を使いましょう。
後、document.writeの前後のopen/closeを行いましょう。
特にcloseが無い為、永遠に読み続けるのが鬱陶しいです。
文字コードに関しては、JavaScriptは内部処理でunicodeを使用している為。
documentのopen後に、「document.charset='EUC-JP';」のような指定をすることで解消できます。
この回答への補足
ありがとうございます。
>\’のようにエスケープするか、”を使いましょう。
ああっ!こんなことわかってたはずなのに・・・
文字コードの方も試してみましたがバッチリです。
書き換えた方のセレクトボックスがうまく動作しませんが、もう少し考えてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
window.openでタイトル名の指定
-
ホームページに日付を自動更新...
-
JavaScriptの件で、質問させて...
-
セレクトボックスの内容に応じ...
-
ランダムで文字を表示
-
比較演算子について
-
ActiveXobjectが作成できない
-
同じIDで定義した要素の配列を...
-
functionから別のfunctionを実...
-
<a>タグのテキストを取得
-
この将棋プログラムに王様ゲッ...
-
関数でy=g(x)のgとは何の略です...
-
C#OpenCv V4にのエラーに関する...
-
document.onkeydownについて
-
ローカルにあるファイルを検索...
-
なぜmatchメソッドがエラーにな...
-
jspからjavascriptの変数引継ぎ
-
助けてください‼︎ javascriptで...
-
javascriptでスロットゲームを...
-
javascriptでテーブルに追加し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openでタイトル名の指定
-
○歳△ヶ月と×日を計算してくれる...
-
時間帯によって背景画像を変える
-
なぜ、ジャバスクリプトが表示...
-
document.open()の意味とは
-
前のページに戻るとページトッ...
-
for文のiを使ってリンク先のア...
-
HpのFlashで,ブロック回避の方...
-
JavaScriptで乱数+乱数の計算結...
-
カウントダウン JavaScript の ...
-
来年の今日の曜日・・・?
-
「分」単位で加算(減算)したい。
-
javascriptをはじめて勉強して...
-
javascriptとphpの連携で疑問
-
ウェブ上にキーボードを作りた...
-
初歩的なことなんですけど
-
コンマとクオーテーションマー...
-
JavaScriptでFirefox使用者の閲...
-
innerHTMLにて設定した情報を再...
-
document.openの意味
おすすめ情報