Spells and Charms

プログラミング(呪文学)の学習記録。

【Day4】Repeat Alert

 

 

次の課題はこんなかんじ。

 

テキストボックスを二つ用意して
一つ目のテキストボックスに打ち込まれた文字を二つ目のテキストボックスに打ち込まれた回数alertで繰り返し表示してみて
例えば test 3 って二つ打ち込まれとったら
testって書いたアラートが3回連続で表示される

 

今回はJavaScriptは別ファイルに書いて、HTMLに呼び込む感じで。

 

Language

HTML

JavaScript

 

My code

HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Alert Counting</title>
<script src="myScript.js"></script>
</head>
<body>
<p>Type something.</p>
<form><input type="text" name="word" id="wd"></form>
<br>
<p>How many times do you want to show the word?</p>
<form><input type="text" name="number" id="nb"></form>
<br>
<input type="button" value="Enter" onClick="loop()">

</body>
</html>
 
 
JavaScript

 



function loop() {
var n = document.getElementById("nb").value;
 
function numb() {
var a = document.getElementById("wd").value;
alert(a);
}

for(var i = 0; i < n; i++){
numb();
}
}
 

 

Note

まずテキストボックスを押せばその内容がアラートにでるように設定。
これは何度かやっているので割とすんなりできた。

 

 

迷ったところ。

while なのかforなのか。

空のボックスに回数を打ち込むという意味では、最初から回数がきまっているわけではない。そう考えるとwhile? と思うが、このプログラムを実行するときには、ボックスには何かしらの値が入っており、回数が決まっているともいえる。

→forでよかった。 

 

 

以下のような道筋で、一旦完成。

  1. HTMLでテキストボックス2つとボタン1つ作成。
  2. ボタンを読んだらloopがスタートするようにする。
  3. loop中身は、「アラートをn回出すこと」。

 

つまづいたところ

  • nの定義はloop内かつfor以前にする。;はじめはfor 内で定義していた。。
  • onClickに指定するのは、loop()  はじめはnumb() を呼んでいた。。

 

 

今の所、時間がかかっているのは、

  • functionについて調べること
  • 道筋を考えること
  • DOMとfunctionのちがい

 

Reference

 

Javascript loop function について

JavaScript for Loop

Loops and iteration - JavaScript | MDN

Time  4 hrs