質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

5回答

3360閲覧

JavaScriptが動作しない、なぜかわからないです

makoto-n

総合スコア436

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2015/11/12 07:34

初めて書いてみました
「JavaScriptの絵本」という本をコピーしただけですが、動かなくって
バージョンが古いかな?セミコロン忘れたかな?と思っていますが
改善点が見つかりません
バリデーションをお願いしたいです

ソース

JavaScript

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>じゃんけん</title> 6 <script type="text/javascript" src="js/judgment.js"></script> 7 <script type="text/javascript"> 8 var strMsg0"じゃんけんしますか?"; 9 10 function init(){ 11 if(!confirm(strMsg)){ 12 document.getElementById("btnG").disabled=true; 13 document.getElementById("btnC").disabled=true; 14 document.getElementById("btnP").disabled=true; 15 } 16 } 17 function myChoise(jankenUser){ 18 var strLocal=myResult(jankenUser) 19 alert(strLocal) 20 } 21 </script> 22</head> 23<body onload="init()"> 24 <form name="form1"> 25 <input type="button" id="btnG" onclick="myChoise(0)" value="ぐー"> 26 <input type="button" id="btnC" onclick="myChoise(1)" value="ちょき"> 27 <input type="button" id="btnP" onclick="myChoise(2)" value="ぱー"> 28 <br> 29 </form> 30</body> 31</html>

judgment.js

JavaScript

1var strMsg1="あいこ"; 2var strMsg2="勝ち"; 3var strMsg3="負け"; 4 5function myResult(jankenUser){ 6 var jankenComp=Math.floor(Math.random()*3); 7 if (jankenComp==jankenUserja) 8 return strMsg1; 9 else if ((jankenComp+1)%3==jankenUser) 10 return strMsg2; 11 else 12 return strMsg3; 13}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

ベストアンサー

(1) init functionでstrMsgが定義されていません。strMsg0にします。

(2) myResult functionで、jankenUserとjankenUserjaがごちゃまぜになっています。どちらかに統一してください。

上記2点の変更をしたところ、私の環境では動作しました。

追記)
あと、tanamochiさんがご指摘していた点も修正しています。

投稿2015/11/12 08:21

編集2015/11/12 08:25
kazzzstudio

総合スコア94

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2015/11/12 08:40

どちらも試したのですが、できません 。
kazzzstudio

2015/11/12 08:42

judgment.js はjsディレクトリの下に入れていますか?
makoto-n

2015/11/12 08:44

それでした。 ありがとうございます すみません。
guest

0

tanamochi さんの指摘箇所と、もう一箇所

if (jankenComp==jankenUserja)

if (jankenComp==jankenUser)

こちらも気になりますね

これらが単なる書き写しのミスであるなら、あとは js/judgment.js の置き場所が html ファイルとの階層関係あっているかどうか

judgment.js の中身を html ファイルの <script> の中へ移動したらうまくいくか試すのもよいかも

投稿2015/11/12 08:07

編集2015/11/12 08:09
takito

総合スコア3111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2015/11/12 08:45

階層関係でした。 ありがとうございます。
guest

0

var strMsg0"じゃんけんしますか?";

ここが気になります!

var strMsg="じゃんけんしますか?";

投稿2015/11/12 07:39

編集2015/11/12 07:45
tanamochi

総合スコア83

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2015/11/12 08:03

解決しません。 アラートも出ません
makoto-n

2015/11/12 08:13

=を見落としていました。 アラートが出て、選択はできるようになりますが、 結果がでません。
tanamochi

2015/11/12 08:37

oh... 皆様もお答えしていますがいい感じのエディタでタイポとかすぐ見れるようにしたほうがいいですね 自分を信じちゃダメですw
guest

0

ちなみに、js ファイルと html ファイルは正しい場所に配置してありますか?
(今回の場合、js ファイルを html ファイルと同階層のフォルダに配置してはいけません)

/index.html ← HTML ファイルがここにあるとする場合
/js/judgment.js ← Javascript ファイルは js フォルダの下に配置する必要があります。

投稿2015/11/12 08:45

usk

総合スコア397

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

usk

2015/11/12 08:45

失礼。すでに回答済みでしたね。
makoto-n

2015/11/12 08:46

ありがとうございます。
guest

0

html

1 2 <script type="text/javascript"> 3 function init() { 4 var strMsg = "じゃんけんしますか?"; 5 if (!confirm(strMsg)) { 6 document.getElementById("btnG").disabled = true; 7 document.getElementById("btnC").disabled = true; 8 document.getElementById("btnP").disabled = true; 9 } 10 } 11 function myChoise(jankenUser) { 12 var strLocal = myResult(jankenUser); 13 alert(strLocal); 14 } 15 </script>

javascript

1var strMsg1 = "あいこ"; 2var strMsg2 = "勝ち"; 3var strMsg3 = "負け"; 4 5function myResult(jankenUser) { 6 var jankenComp = Math.floor(Math.random() * 3); 7 if (jankenComp == jankenUser) 8 return strMsg1; 9 else if ((jankenComp + 1) % 3 == jankenUser) 10 return strMsg2; 11 else 12 return strMsg3; 13}

コピーしただけ

正直疑わしい…タイポ連発してるんじゃないですかね。


他の回答者の回答からは漏れているようですが、

var strMsg = "じゃんけんしますか?";

はinit() の中に書かないといけません。

投稿2015/11/12 08:11

編集2015/11/12 08:43
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2015/11/12 08:43

連発してます^^;
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問