プロが教えるわが家の防犯対策術!

下記のように日本語のテキストボックスの場合、ネスケではエラーになってしまいますが、日本語のままでできる裏技はないものでしょうね・・・。

function zipsearch()
{
n = document.main.郵便番号.value;
subWin = window.open('zipsearch.cgi?zip=' + n ,"zipsearch","width=300,height=100")
}

A 回答 (1件)

それ以前にNetscape以外でも日本語は使わない方がいいですよ。


ただでさえ日本語処理にはバグや妙な仕様が多いですから。

どうしても日本語を使いたいのなら、属性名ではなく、値の扱いをすればなんとかなるのではないでしょうか。
n = document.main["郵便番号"].value;
ただ、どちらにせよこのCGIにGETメソッドで渡す動作はうまくいかないと思います。
nの内容がURLエンコードされませんので。

このエンコードに関することは、ブラウザに任せるのが最良、というのが私の意見です。
JavaScriptでもescape()やencodeURI()等の一見使えそうな関数がありますが、
実は文字コードの問題でうまく動作しません。
なので、既存のフォームと異なる動作を実現する場合にはFORMを動的に生成する、等の手法が必要になります。
単にFORMを新しいページにsubmitしたいのであれば、HTMLの記述で
<FORM target="_blank ...>
とすればOKです。
    • good
    • 0
この回答へのお礼

>それ以前にNetscape以外でも日本語は使わない方がいいですよ。

そうですか。
IE限定のイントラだけで最初適当にやっても動いてた癖が今でも抜けなくて・・。

#気持ちを新たに日本語使わない方法に切替えたいと思います。 (^^;

お礼日時:2002/05/21 17:47

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