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

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

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

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

Q&A

3回答

404閲覧

【基本過ぎて申し訳ありません】計算結果が表示されません。なぜでしょうか?

kiyo-okinawa

総合スコア3

JavaScript

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

0グッド

1クリップ

投稿2019/08/13 15:43

JavaScript初心者です。度々申し訳ございません。
計算結果が表示されません。なぜでしょうか。
ご教授お願い致します。

html

1<!DOCTYPE html> 2<html> 3<body> 4<script> 5document.getElementById('q2btn').onclick = function () { 6 var num1 = parseFloat(document.getElementById('q2-1').value); 7 var num2 = parseFloat(document.getElementById('q2-2').value); 8 document.getElementById('q2').textContent = num1*num2; 9}; 10</script> 11<p class="q-body"> 12 <input id="q2-1" type="text" size="4"> 13 × 14 <input id="q2-2" type="text" size="4"> 15 <button id="q2btn">計算</button><br> 16 計算結果:<span id="q2"></span> 17 </p> 18</body> 19</html>

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

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

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

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

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

m.ts10806

2019/08/13 20:30

初心者アイコンついてますしタイトル冒頭のただし書きは不要かと。要件本体とも関係ありませんし、基本的、初歩的だからと謝る必要はないです(むしろない方がありがたいくらい)
guest

回答3

0

<script>の要素が実行されたタイミングでidq2btnの要素が読み込まれてないからでは。
<script>の要素を<p>より下で定義してみてください。


追記
こういう記事を読んでおくと良いです。
(もっといいのがあった気がするけどすぐ出てこなかったので、色々探してみてください。)
【JavaScript】記述方法別の実行タイミングについて

投稿2019/08/13 15:47

編集2019/08/13 15:52
gentaro

総合スコア8949

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

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

0

Uncaught TypeError: Cannot set property 'onclick' of null at 5

5行目でエラーが出ています。

<script> document.addEventListener('DOMContentLoaded', function() { document.getElementById('q2btn').onclick = function () { var num1 = parseFloat(document.getElementById('q2-1').value); var num2 = parseFloat(document.getElementById('q2-2').value); document.getElementById('q2').textContent = num1*num2; }; }); </script>

DOMがLoadされてからでないと実行できません。

投稿2019/08/13 15:53

querykuma

総合スコア777

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

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

0

getElementById('q2btn')が実行される時点では、まだそのノードはありません。

簡単に修正するには、<script>タグを</body>の直前に書きます。

投稿2019/08/13 15:52

otn

総合スコア84538

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問