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

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

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

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

1331閲覧

ifの記述が反応しません

hisayan

総合スコア60

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

2クリップ

投稿2019/07/25 22:01

未成年だったときに義務教育期間かどうかを判定する記述を以下のようにやってみましたが、うまく動作しません。記述のどこに問題があるのでしょうか?
よろしくお願いします。

html

1<html> 2<body> 3let text = prompt("年齢は?"); 4if(! isNaN(text)) { 5 let age = parseInt(text); 6 if(age<20) { 7 if (age >=6 && age<=15){ 8 document.write("義務教育です"); 9 } else { 10 document.write("未成年です"); 11 } 12 } else { 13 if(age>=65){ 14 document.write("高齢者です"); 15 } else { 16 document.write("成人です"); 17 } 18 } 19} 20 21</script> 22</body> 23</html>コード

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

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

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

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

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

takasima20

2019/07/25 22:43

「うまく動作しません」では回答者に困っていることが伝わりません。もっと具体的に書きましょう。
m.ts10806

2019/07/25 22:56

タグはJavaScriptでは
m.ts10806

2019/07/25 22:57

これ本当にそのままだとコードそのままブラウザに出てますよね
退会済みユーザー

退会済みユーザー

2019/07/25 23:38

scriptタグが閉じしかないように見えますね。 「うまく動きません」意味不明なので本当に辞めてほしい・・・ ブラウザのデベロッパーツールのコンソールにエラー出てるかくらいは確認しましょう。
m.ts10806

2019/07/26 00:51 編集

ご存知かどうか知りませんが質問は編集できます。 「質問への追記・修正の依頼」にコメントがあるということは「質問内容に不備がある」ということになります。不備を指摘されたなら修正すべきです。 タイトルのつけ方、質問内容の書き方、入れておくべき情報 などなどガイドラインがあります。 https://teratail.com/help/question-tips ガイドラインにそって質問を書くことによってより的確な回答を得やすくなります。 なお、質問の不備があるまま、そして丸投げのままの質問を続けると 「アドバイスを得て成長したいわけではなく答えだけが欲しいんだな」と解釈され だんだんと回答がつかなくなります。 特に最近の質問の仕方はかなりヒドイものです。 同じ指摘をずっとしたい人はいません。もともと赤の他人です。 同じアドバイスをずっとしたい人はいません。「アドバイスが活きてないな」と感じれば容赦なく離れます。 気を付けましょう。
hisayan

2019/07/26 04:00

分かりました。今後consoleに張り付けて実行してからそれでも不明の時は投稿するようにします。
guest

回答3

0

ベストアンサー

script タグが開いていないからです。もしくは年齢を全角で入力しているからです。

投稿2019/07/25 22:29

Zuishin

総合スコア28660

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

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

0

ロジックが回りくどいですね

javascript

1<script> 2var msg =""; 3for(var age=0;age<=100;age++){ 4 if(age >=6 && age<=15) { 5 msg="義務教育です"; 6 }else if(age<20){ 7 msg="未成年です"; 8 }else if(age>=65){ 9 msg="高齢者です"; 10 } else { 11 msg="成人です"; 12 } 13 console.log(age+":"+msg); 14} 15</script>

投稿2019/07/26 01:56

yambejp

総合スコア114742

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

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

hisayan

2019/07/26 04:03

forをまだがくしゅうしていないものですから徐々に勉強します。ありがとうございました。
guest

0

成人の定義も変わるし、更に回りくどく書いてみた。
(遊びで組んだので解説は一切しません)

js

1const age_setting = [ 2 { 3 'type':'term', 4 'max':5, 5 'min':0, 6 'age':{ 7 'max':'未就学児/幼児', 8 } 9 }, 10 { 11 'type':'term', 12 'max':15, 13 'min':6, 14 'limit':20, 15 'age':{ 16 'max':'義務教育', 17 'limit':'未成年' 18 } 19 },{ 20 'type':'term', 21 'max':64, 22 'min':20, 23 'age':{ 24 'max':'成人', 25 } 26 },{ 27 'type':'over', 28 'max':65, 29 'age':{ 30 'max':'高齢者', 31 } 32 } 33] 34; 35function ageCheck(target){ 36 if(isNaN(target)){ 37 console.log("入力値が不正です。"); 38 return; 39 } 40 let result = '生前'; 41 for(let i=0;i<age_setting.length;i++){ 42 ageset = age_setting[i]; 43 if(ageset.type == 'term'){ 44 if(ageset.max >= target && ageset.min <= target){ 45 result = ageset.age.max; 46 break; 47 }else if(ageset.max < target && ageset.limit > target){ 48 result = ageset.age.limit; 49 break; 50 } 51 }else if(ageset.type == 'over'){ 52 if(ageset.max <= target){ 53 result = ageset.age.max; 54 break; 55 } 56 } 57 } 58 console.log(result+'です'); 59} 60 61ageCheck(parseInt(prompt('年齢は?')));

投稿2019/07/26 02:53

m.ts10806

総合スコア80842

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

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

hisayan

2019/07/26 04:02

難しいところがあるのでまだ意味不明なところがありますが、徐々にとりくんでみます。ありがとうございましtが。
m.ts10806

2019/07/26 04:04

頭から順番に1個ずつ書いていくのがロジックではありませんので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問