※ ChatGPTを利用し、要約された質問です(原文:期日に応じてチェックボックスを有効にしたり無効に)
Javascriptを使用して期日に応じてチェックボックスを有効にする方法
このQ&Aのポイント
Javascriptの文法を誤っているため、チェックボックスの有効化が正しく機能していないようです。
チェックボックスの有効化は、document.getElementByIdを使用して行うことができます。指定した要素のdisabled属性をfalseに設定することでチェックボックスを有効にすることができます。
期日に応じてチェックボックスを有効にするには、Dateオブジェクトを使用して現在の日付と比較する必要があります。条件を満たす場合にのみ、document.getElementByIdを使用してチェックボックスを有効にすることができます。
<input name="希望区域" onClick="chBx('ch1')"type="checkbox" id="ch1" value="末広町 " disabled="disabled">
<input name="希望区域" onClick="chBx('ch2')"type="checkbox" id="ch2" value="緑町 " disabled="disabled">
<input name="希望区域" onClick="chBx('ch3')"type="checkbox" id="ch3" value="新田町 " disabled="disabled">
・
・
・
<input name="希望区域" onClick="chBx('ch39')"type="checkbox" id="ch39" value="青空台 " disabled="disabled">
と、約70個のチェックボックスが並んでおり、例えば、9月末になったらch5~ch9のチェックボックスを有効に、10月15日になったらch11~ch18をdisabledで無効に…といった具合に、期日に応じてチェックボックスを有効にしたり無効にしたりしたいのですが、Javascriptの具体的な書き方がわかりません。
<script type="text/javascript"><!--
var d1 = new Date("Nov 6, 2003 00:00:00");
var d2 = new Date();
var d3 = new Date("Aug 16,2012 00:00:00");
if ((d1.getTime() < d2.getTime()) && (d2.getTime() < d3.getTime())) {
document.write("<img src=\"..\/..\/images\/new.gif\" width=\"35\" height=\"12\"align=\"absmiddle\">");
}
// --></script>
という、期日が来たら画像の表示を消すソースが手元にあったので、これをいじって
<script type="text/javascript"><!--
var d1 = new Date("Nov 6, 2003 00:00:00");
var d2 = new Date();
var d3 = new Date("Aug 16,2012 00:00:00");
if ((d1.getTime() < d2.getTime()) && (d2.getTime() < d3.getTime())) {
document.nForm.ch41.disabled=false;
}
// --></script>
としてみたのですが、私がJavascriptの知識が非常に浅いせいで文法が間違っているんだと思いますが、これでは正しく働いてくれませんでした。
ちなみに、上のチェックボックスの部分のソースに onClick="chBx('ch3')" という記述があるのは、チェックボックスを3つ以上チェックできないようにするスクリプトを配置してあるためです。
期日に応じてチェックボックスを有効にしたり無効にしたりするには、上の document.nForm.ch41.disabled=false; を少し書き換えるくらいでは何とかならないでしょうか?
方法を教えて頂けるとありがたく存じます。
どうかよろしくお願い致します。
お礼
こ・・・これは・・・ 私が応用しようとしていたコードをちょっといじったくらいではダメだったんですね。 私の頭ではこれを理解するのにかなり時間がかかりましたが、どういうことなのかおかげさまでわかりました。 ご回答ありがとうございました。