htmlプログラミング~pastdata21.phpのメモ
ラズパイのapacheのphpについて。
pastdata21.php のこの部分についてメモ。

<p>
<form action="" name="form1" method="get">
<select name="year" id="id_year">
</select>年
<select name="month" id="id_month">
</select>月
<select name="day" id="id_day">
</select>日
<script>
(function() {
'use strict';
/*
今日の日付データを変数todayに格納
*/
var optionLoop, this_day, this_month, this_year, today;
today = new Date();
this_year = today.getFullYear();
this_month = today.getMonth() + 1;
this_day = today.getDate();
/*
ループ処理(スタート数字、終了数字、表示id名、デフォルト数字)
*/
optionLoop = function(start, end, id, this_day) {
var i, opt;
opt = null;
for (i = start; i <= end ; i++) {
if (i === this_day) {
opt += "<option value='" + i + "' selected>" + i + "</option>";
} else {
opt += "<option value='" + i + "'>" + i + "</option>";
}
}
return document.getElementById(id).innerHTML = opt;
};
/*
関数設定(スタート数字[必須]、終了数字[必須]、表示id名[省略可能]、デフォルト数字[省略可能])
*/
optionLoop(2019, this_year, 'id_year', this_year);
optionLoop(1, 12, 'id_month', this_month);
optionLoop(1, 31, 'id_day', this_day);
})();
</script>
のデータを表示
<input type="submit" value="送信">
<br></p>
いきなりselectタグからです。後でいろいろいじったので、わかりにくくてすいません。
初期設定を、「今日」にしたいので、today関数から取り込んでます。
そして、年月日それぞれを、それぞれの範囲で、月は12まで、日にちは31までloopさせてます。初期設定の「年」は、2019にしてますが、これから作る人は2020でいいですね。
で、最後に「送信」ボタン。
いろんなサイトを参考に、コピペしてこのスクリプトはできました。
たぶん、詳しい人はもっと効率よく、可読性に優れたスクリプトを書くんでしょうけど、わたしにはこれが限界です。
この部分、PHP関係なかったですね。(-_-;)
「送信」ボタンを押した後、ドロップダウンリストが「今日」ではなく、「送信」した日のままになってほしいのだけど、どうやればいいのかわからない。
「前日」「翌日」ボタンも欲しいかな。「前日」が前月だったり、「翌日」が翌月だったりする際の「月」が変わるときの処理の仕方がわからない。
人生わからないことだらけです。
データはここです。
このブログへのコメントはmuragonユーザー限定です。