前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
JavaScript・htmlを学び始めて1ヶ月未満の初学者です。2つの関数を作って、一つ目の関数の結果(数字)を表示した後、次の関数にその数字を渡して計算させるというプログラムを書こうとしてますが、うまくいきません。基本的すぎてお恥ずかしい質問かもしれませんが、よろしくお願いします。
エラーメッセージ
最初のボタン(「問題」ボタン)のクリックで一つ目の関数を動かしてランダムな数字を作って表示し、「答え」ボタンのクリックで計算結果を出すというプログラムです。問題ボタンで数字は出せるのですが、答えボタンを押しても答えが出なくて、一つ目の関数の結果が、次の関数に渡せてないのではないようです。
該当のソースコード
HTML, JavaScript
ソースコード
</body><button class="btn1" onclick="randamu()">問題</button><br> <div id="target"></div><br> <script> function keisan(){ var y = x*x*3.14; var elem2 = document.getElementById("answer"); elem2.innerHTML=(y); } </script> <button class="btn2" onclick="keisan()" >答え</button><br> <div id="answer"></div>
ここに問題に対して試したことを記載してください。
二つ目の関数keisanに結果「x」を入れてkeisan(x)とすると答えはNaNでした。二つ目の関数からxを表示させるとundefinedと表示されるので、最初の関数の答えが次の関数に渡せていないと思った次第です。
二つめの関数keisanを一つ目のscriptに入れても結果は同じでした。keisan関数やめて、xとyを一つの関数に入れて、問題xだけ最初に表示して、次に結果yを表示させるというやり方もあるのかもしれないと思いますが、そちらもやりかたがわかりません。
1)一つ目の関数の値を次の関数に渡す方法
2)ひとつの関数にまとめて、結果xとyを違うボタンで順次出す方法
基本的は質問で恐縮でございますが、ご教示いただけたら幸いです。
補足情報(FW/ツールのバージョンなど)
コードはDreamweaverで書いて、google chromeでファイルを開いて試しています。実際にはもう少し複雑なJSのscriptを別のファイルに書いて、HTML内で読み込ませようとしています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/24 01:59