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

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

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

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

Q&A

解決済

3回答

1566閲覧

javascriptが動作しません

2017js

総合スコア14

JavaScript

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

0グッド

0クリップ

投稿2017/03/23 02:05

編集2017/03/23 03:03

###前提・実現したいこと
某サイトで「割り勘電卓」というWEBページの作成・勉強をしています。
途中まではうまく動作していたのですが、以下の状態で動作しなくなりました。
どこかにミスがある様なのですが、自力で見つけることができません。
どうぞ、ご指摘ください。お願いします。
※たぶん「if」以降に間違いがある気がします・・。

###該当のソースコード

javascript

1<script> 2 (function () { 3 'use strict'; 4 5 var priceForm = document.getElementById('price'); 6 var numForm = document.getElementById('num'); 7 var btn = document.getElementById('btn'); 8 var result = document.getElementById('result'); 9 10 priceForm.addEventListener('click', function(){ 11 this.select(); 12 }); 13 numForm.addEventListener('click', function(){ 14 this.select(); 15 }); 16 17 btn.addEventListener('click' , function() { 18 var price = priceForm.value; 19 var num = numForm.value; 20 21 if (price.match(/^[1-9][0-9]*$/) && num.match(/^[1-9][0-9]*$/)) { 22 //ok 23 result.innerHTML = 'OK!'; 24 } else { 25 //error 26 result.innerHTML = '入力された値に誤りがあります。'; 27 28 } 29 }); 30 })(); 31 </script>

###試したこと
https://jsfiddle.net/
上記サイトで動作確認。

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

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

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

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

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

yambejp

2017/03/23 02:22

参照先サイトが中途半端で確認できません。teratailだけで完結させるならhtml部分も書いてください
2017js

2017/03/23 02:29

了解しました。ただ、html部分はどこに書けば良いのでしょうか?このコメント欄ですか?
yambejp

2017/03/23 02:31

ごめんなさい、回答のほうに書いちゃいました、一度みてみてください
kei344

2017/03/23 02:40

質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。また、「某サイト」など隠さずURLを掲載されることをお勧めします。
2017js

2017/03/23 02:46

了解しました。今後は気をつけます。また、「某サイト」としたのは、利用規約に「広告・宣伝は不可」とあったのでサイト名を敢えて伏せました・・。
kei344

2017/03/23 02:51

「今後」ではなく、質問文は編集出来ますので、その依頼をしています。サイト名については別に書かなくても良いですが、コード全体がどのように作られているかがわかるほうが重要なので、URLくらいはあるほうが回答がしやすくなると思います。
toutou

2017/03/23 02:54

コンソールログに何かかかれてませんか?
2017js

2017/03/23 02:55

了解しました。質問文の編集、試してみます。ご指摘ありがとうございます。
2017js

2017/03/23 03:07

コンソールログ、初心者なので良く分かりませんが調べてみます。
2017js

2017/03/23 03:16

ご親切にありがとうございます。後ほど確認してみます!
guest

回答3

0

ベストアンサー

動きますね
(なんのために無名関数を実行しているかはわかりませんが)

javascript

1<input type="text" id="price"> 2<input type="text" id="num"> 3<input type="button" id="btn"> 4<div id="result"></div> 5<script> 6(function () { 7 var priceForm = document.getElementById('price'); 8 var numForm = document.getElementById('num'); 9 var btn = document.getElementById('btn'); 10 var result = document.getElementById('result'); 11 priceForm.addEventListener('click', function(){ 12 this.select(); 13 }); 14 numForm.addEventListener('click', function(){ 15 this.select(); 16 }); 17 btn.addEventListener('click' , function() { 18 var price = priceForm.value; 19 var num = numForm.value; 20 if (price.match(/^[1-9][0-9]*$/) && num.match(/^[1-9][0-9]*$/)) { 21 result.innerHTML = 'OK!'; 22 } else { 23 result.innerHTML = '入力された値に誤りがあります。'; 24 } 25 }); 26})(); 27</script> 28

投稿2017/03/23 02:30

yambejp

総合スコア114825

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

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

2017js

2017/03/23 02:35

早速の回答ありがとうございます。 http://dotinstall.com/lessons/go_dutch_js_v2/33905 上記サイトで勉強中です。 javascriptに問題ないとすると、htmlかcss部分に何かミスがあると思いました。 もう一度、自力で確認してみます。 ありがとうございました!!
guest

0

やはりhtmlにミスがありました・・。
pタグ内のpとidの間が全角スペースだったのを、半角スペースにしたら正常に動作しました。
お騒がせしました。
回答・コメントをしていただいた皆さま、ありがとうございました!

投稿2017/03/23 05:42

2017js

総合スコア14

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

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

0

リンク内容
jsfiddleはセーブするとこのように見せれる

投稿2017/03/23 03:22

編集2017/03/23 03:23
toutou

総合スコア2050

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

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

2017js

2017/03/23 03:56

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問