- 締切済み
JavaScriptの初歩の質問です。教えてください。
<script language="java script"> <!-- function hello(){ name = prompt("please teach me your name","名前"); flag=confirm("名前は「"+name+"」でいいですか?"); if(flag==true){ alert("こんにちは"+name+"さん alert("hello!"+name+"さん"); } else{ hello(); } } //--> </script> </HEAD> <BODY> <INPUT type="button"value="push bottan please"onClick="hello()"> </BODY> というのを作ってるんですがエラーが出て表示されません。 例文があってそれを自分で入力しているため、入力ミス?とも思うんですが、入力ミスもないような・・・。いったいどこがおかしいんでしょう? 間違えやすい点などもあれば教えてください。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- s_doc
- ベストアンサー率24% (93/377)
今回のエラーに関係するかどうか確認してませんが、 変数名に「name」などの、 予約されたオブジェクト名を使うのはやめましょう。 いつかバグの原因になります。 それから、 上手く動かなくて相談するときは、 ご自身が確認に使っているOSやブラウザのバージョンを書かれると、 適切な回答が早く帰ってくると思いますよ。
- so_blue
- ベストアンサー率48% (50/104)
全ての指摘を反映して、挙動確認すると、WIN/IE5.5は問題なしでしたよ。 NE4.7は日本語部分でエラーになるので、 name = prompt("please teach me your name","名前"); を name = prompt("please teach me your name","NAME"); にするとエラー回避されます。 # 日本語入力されたら一緒なのですが... # エンコードとかの作業が必要そうです もしかすると、HTMLファイルの改行かな? CRLF(と思った)になっているか確認してみてください。
お礼
たびたびありがとうございます。 環境、WIN/IE6なんですよねえ・・・。 で、もういちどイチから入力しなおしたんです。 そしたらきちんと実行されました。 改行とかの問題な気がします。 ありがとうございました。
- me_no_car
- ベストアンサー率24% (22/90)
#2さんも回答通り <script language="java script"> を <script language="javascript"> に書き直してくさい。 ここがエラーの原因です。
お礼
ご回答ありがとうございます。 No.2でのお礼でも記載させてもらいましたが、詰めると表示そのものができなくなるんですよね・・。(エラー内容はお手数ですが下記を参照してください) なんかもっと根本的なものがあるんでしょうかね・・・。
- louisvuitton
- ベストアンサー率16% (4/24)
私もJavaScriptは3,4年前に1度経験したきりなので、ちゃんとした答えができるかどうかは怪しいのですが・・・ </HEAD> はあるのに、 <HEAD> の記述がありませんよね? 例文はどこかに入っていないでしょうか? 確認してみて下さい。
お礼
たびたびご回答ありがとうございます。 <head>はここへのコピペ時に省略してるだけなんで、エラーには無関係かと思われます・・・。
- so_blue
- ベストアンサー率48% (50/104)
直接エラーと関係あるかどうか分かりませんが... <script language="java script"> java script → javascript(スペースなし)では? <INPUT type="button"value="push bottan please"onClick="hello()"> 半角スペースで区切るようにしましょう。下記のように。 <INPUT type="button" value="push bottan please" onClick="hello()">
お礼
ご回答ありがとうございます。 それがですねー、javascriptというように空白を詰めると、ページの表示ができなくなるんですよねー。 ライン10 文字 24 エラー 終了していない文字列型の定数です というエラーが出ます。 ううううううん・・・。
- louisvuitton
- ベストアンサー率16% (4/24)
こんにちわ。 入力ミスだと思います。 7行目 alert("こんにちは"+name+"さん 正しくは alert("こんにちは"+name+"さん"); 最後の「);」が抜けています。
お礼
すばやいご回答ありがとうございます。 で、早速修正してみたんですがやっぱり・・・。だめです。 エラーメッセージで、「ライン21 文字1 エラー:オブジェクトを指定してください コード 0 とあるんですけど、21列目・・をみても入力ミスらしいものを みつけられないのです・・。 もしお時間があればまたご回答いただけると本当に助かります・・。 しょっちゅう「オブジェクトを指定してください」のエラーを出してしまうので・・。
お礼
アドバイスありがとうございます。 予約されたオブジェクト名・・ああなんだか聞いたようなきが・・勉強します。 そうか、OSやブラウザのバージョンが必要なんですね。 次回から記入するようにします。