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

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

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

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

Q&A

解決済

2回答

1313閲覧

javascriptで作ったプログラムは入力情報を取得できますか?

tiki-

総合スコア18

JavaScript

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

1グッド

0クリップ

投稿2019/06/19 13:24

前提・実現したいこと

JavaScriptを使ったプログラム
liの入力情報をそれぞれの項目で取得できるか?
このプログラムで考える場合に気を付ける点はどこになるでしょうか?

該当のソースコード

HTML

1 <div class ="container2"> 2 <p id="question"></p> 3 <ul id="choices"></ul> 4 <div id="btn" class="disabled">Next</div> 5 </div>

JavaScript

1'use strict'; 2 3{ 4 const question = document.getElementById('question'); 5 const btn = document.getElementById('btn'); 6 const choices = document.getElementById('choices'); 7 8 const quizSet = [ 9 {q: 'What is A?', c: ['あてはまる', 'どちらかというとあてはまる', 'どちらかというとあてはまらない','あてはまらない']}, 10 {q: 'What is B?', c: ['あてはまる', 'どちらかというとあてはまる', 'どちらかというとあてはまらない','あてはまらない']}, 11 {q: 'What is C?', c: ['あてはまる', 'どちらかというとあてはまる', 'どちらかというとあてはまらない','あてはまらない']}, 12 ]; 13 let currentNum = 0; 14 let isAnswered; 15 16 function checkAnswer(li) { 17 if(isAnswered){ 18 var targetElements = document.getElementsByClassName('correct'); 19 [].forEach.call(targetElements, function(elem) { 20 elem.classList.remove('correct'); 21 }) 22 } 23 isAnswered = true; 24 li.classList.add('correct'); 25 btn.classList.remove('disabled'); 26 } 27 28 function setQuiz() { 29 isAnswered = false; 30 31 question.textContent = quizSet[currentNum].q; 32 while (choices.firstChild) { 33 choices.removeChild(choices.firstChild); 34 } 35 36 quizSet[currentNum].c.forEach(choice =>{ 37 const li = document.createElement('li'); 38 li.textContent = choice; 39 li.addEventListener('click', () => { 40 checkAnswer(li); 41 }); 42 choices.appendChild(li); 43 }); 44 45 if (currentNum === quizSet.length - 1) { 46 btn.textContent = '診断結果'; 47 } 48 } 49 50 setQuiz(); 51 52 btn.addEventListener('click', () => { 53 if(btn.classList.contains('disabled')){ 54 return; 55 } 56 btn.classList.add('disabled'); 57 58if(currentNum === quizSet.length - 1){ 59 60}else { 61 currentNum++; 62 setQuiz(); 63} 64 }); 65} 66

試したこと

tanat👍を押しています

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

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

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

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

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

m.ts10806

2019/06/20 00:20

>JavaScriptを使ったプログラム 要件が何もありません。 プログラミングの本質は問題解決です。 要件や仕様があって、はじめて1つのものが出来上がります。 要件や仕様を何も提示していないのに「このプログラムで考える場合に」とだけ書かれても 「そのプログラムって何よ?」という疑問しか出ないので、あなたが欲しいアドバイスは得られないでしょう。 質問テンプレートを利用して再編してください。
guest

回答2

0

liの入力情報をそれぞれの項目で取得できるか?

当たり前ですが勉強すればできます
勉強しなければできないです。

このプログラムで考える場合に気を付ける点はどこになるでしょうか?

前回の質問でも書きましたが
コードをコピペして自身で少し変更した程度でメソッドなどをよく理解できていないようなので
もっと勉強したほうが良いです。
https://teratail.com/questions/195467

投稿2019/06/19 14:09

yasutomi

総合スコア2937

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

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

0

ベストアンサー

liの入力情報をそれぞれの項目で取得できるか?

できます。

このプログラムで考える場合に気を付ける点はどこになるでしょうか?

プログラムは「書かれたとおり」にしか動かないので、強いて言えば「全部」です。誤字一つあってもバグになり得ますので。
1行1行、ちゃんと自分が「やろうとしていること」を理解して、正確にコードとして表現できているのか気をつける必要があります。

その上で、「このプログラム」の主たる目的が何かが明らかなら、「その目的達成のために必要十分なロジックを書けているか」が「気をつける点」ですが、それはプログラマ本人が把握しているはずです。(じゃないと作れない)

投稿2019/06/19 16:22

gentaro

総合スコア8949

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問