promptで取得した文字を表示するには?

[上に] [前に] [次に]
とよ [E-Mail] 1999/06/17(木) 00:53:37
はじめまして!
今、Win95 + IE5でJavaScriptの勉強をしているのですが
どうしても上手く動きません。
誰か教えてください

promptで全角文字を取得すると上手く表示されません。

例)
function printname
{
    name = prompt("あなたのお名前は?","");
    document.write("あなたの名前は" + name + "です");
}
--------------------------------------
こんな感じにやりたいんですけど
動かして見ると
 あなたの名前はXXXXX
で、入力した後の文字が表示されなくなってしまいます。
どなたか教えてください。
お願いします。   m(−−)m

Nobu3 1999/06/17(木) 08:31:16
1.関数の名前の後ろにカッコが無い。
2.nameはプロパティ名で使われているので、変数として使うべきではない。(使えない?)

こんなところだと思いますが?

とよ [E-Mail] 1999/06/17(木) 09:10:55
すみません!
カット&ペーストすれば良かったのですが...
>1.関数の名前の後ろにカッコが無い。
ソース上ではついてます「function printname()」

>2.nameはプロパティ名で使われているので、変数として使うべきではない。(使えない?)
実際に使用している変数名は「inputname」なので
この点も大丈夫かと思われます...

すみませんでした!

たこすけ 1999/06/17(木) 10:03:30
../199904/99040183.htm
これかなぁ?

とよ [E-Mail] 1999/06/17(木) 10:14:38
[[解決]]
Nobu3さん、たこすけさん レスありがとうございました!

私の場合も同じ現象が起きていました。

※以下抜粋
>Name 以降が出力されない場合がありますね(Win98+IE4)
>document.write()中の + を , に置き換えたら
>うまくいきました。

本当にありがとうございました

また、何かあったときはよろしくお願いします。  m(−−)m

Nobu3 1999/06/17(木) 10:31:19
なるほど。
確かにできませんでした。すいません。
で、気になる情報を
http://www.st.rim.or.jp/~makoto3/dhtml_ie/dhtml_ie0000.shtml
で手に入れたので、スクリプトを組んでみました。

function printname(){
inputname=prompt('あなたのお名前は?','');
inputname=escape(inputname);
if(-1<inputname.indexOf('%00'))inputname=inputname.substring(0,inputname.indexOf('%00'));
temp='やっほ〜。';
temp+=unescape(inputname);
temp+='さん、いらっしゃい!';
document.write(temp);
}

一応、IE4とNN4で確認しましたが、全角でも、全角半角が混在していても大丈夫でした。

とよ [E-Mail] 1999/06/17(木) 13:04:12
ご参考までに...

promptで取得した全角文字の後に
文字表示ができない件ですが、
WinNT40(SP4)+IE4で同じ様に記述した所
問題なく動作しました

>function printname()
>{
>    name = prompt("あなたのお名前は?","");
>    document.write("あなたの名前は" + name + "です");
>}

JavaScriptはOSに依存しないと聞いていたのですが...
何かわかる方いらっしゃったらよろしくお願いします   m(−−)m

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