JavaScriptで日本語の文字列を使うには?

[上に] [前に] [次に]
roland [E-Mail] 1999/05/10(月) 02:05:44
JavaScriptの中で、
  n2s[12] = 'ス';  n2s[13] = 'セ';  n2s[14] = 'ソ';  n2s[15] = 'タ';
というふうに、カタカナ1文字を配列に代入していきたいのですが、
このままだとNN4.01では、「n2s[14] = 'ソ';」の2つ目の
「'」がエスケープされてしまって、連鎖的に大量のエラーが出て
ブラウザがハングしてしまいました。(IE4ではちゃんと動きました)

「ソ」の部分だけを「'」でなく「"」で囲んだら、
連鎖的な大量のエラーは出なくなったのですが、
NN4.01ではやはり「"」がエスケープされてしまいます。

今はエスケープされて解釈されてもエラーが出ないように、
  n2s[12] = 'ス';   n2s[13] = 'セ';    n2s[14] = "ソ";//";
  n2s[15] = 'タ';
としてあるのですが、NN4.01では、一度手動で再読み込みをしないと
n2s[14]に期待した文字列が入ってくれないです。
(NN4.5では自動で再読み込みをしてくれるんですが・・・)

「ソ」の2バイト目が「\」なのが原因だとは思うんですけど、
「n2s[14] = "ソ\";」としてもうまくいかなかったし・・・。

HP自体は休止中なので深刻度は低いんですけど、
もしカタカナの「ソ」1文字をうまく代入する方法が
わかる方がいましたら教えていただけないでしょうか。

# ちなみにこのスクリプトを使っているページは↓です
http://www.jah.ne.jp/~roland/main/wizardry/passwdg1to23.html

Aurai [E-Mail] 1999/05/10(月) 03:36:12
<FORM NAME="KANA">
<INPUT TYPE=HIDDEN VALUE="ア">
<INPUT TYPE=HIDDEN VALUE="イ">
<INPUT TYPE=HIDDEN VALUE="ウ">
.
.
.
</FORM>

と準備しておいて
document.KANA.elements[x].value
でアクセスってどうでしょう?
(未確認)

roland [E-Mail] 1999/05/10(月) 23:57:06
[[解決]]
◆ Aurai さん

ありがとうございます、JavaScriptの中だけ何とかしようとせずに、
JavaScriptの外部で解決しちゃうっていう手もあったんですね。
ぜんぜん思いつきませんでした・・・(^^;;;

さしあたってトラブっているのは「ソ」1ヶ所だけなので、そこだけを
n2s[14] = document.FormName.HiddenName.value;
のようにすることにします(^^)
# トラブっていない部分は今のままのほうがテキスト量が少なくて済みますし(^^;

***

以下は質問の内容とは関係ないんですけど・・・

◆ とほほ さん

質問の返信をメールで受け取る機能を使わせていただいた
のですが、メールで受け取った、Auraiさんの返信に
<INPUT TYPE=HIDDEN VALUE="ウ">
以下の行が含まれていませんでした。

ラウンジのソースを見たわけではないのでただの推測なんですけど、
.\n
の行があるとそこでメール内容の終端とみなされてしまって、
それ以下の行を送ることができなくなっているのではないでしょうか?
(そうではなく単なる突発的な事故か字数制限なのでしょうか?)

ちょうどラウンジのバージョンアップをしている時のよう
だったので気になったことを書いてみたんですけど、
ラウンジとのプログラムと関係ないことだったらすみません。

Aurai 1999/05/11(火) 23:29:55
……sendmailの仕様ってやつでしたっけ
ピリオドだけの行をメールの終わりだと認識するという
一応メールでも報せておきます

[上に] [前に] [次に]