PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
Nucleus

タイムスタンプ更新で、ラジオボタンを変更

http://japan.nucleuscms.org/bb/viewtopic.php?t=2285
Nucleus では、日時を変更しただけではなく「日時を指定して追加」や「タイムスタンプを更新」のラジオボタンもクリックしておかないと、そのまま追加・保存をしてしまうと変更した日時は無かったことにされるので不便です。
そこで、日時を変更したら自動的に javascript でラジオボタンも変更するように、管理画面を修正しました。なお、NP_znCustomAdmin を導入してるので、各ブログの設定画面の変更を行いました(通常は Nucleus のテンプレートファイルを変更しますが、ソース変更するところは同じ記述のところになります)。

追加時
<input id="inputyear" name="year" tabindex="63" size="4" value="<%currenttime(year)%>" onchange="document.forms[0].act_future.checked=true;" />年
<input id="inputmonth" name="month" tabindex="64" size="2" value="<%currenttime(mon)%>" onchange="document.forms[0].act_future.checked=true;" />月
<input id="inputday" name="day" tabindex="65" size="2" value="<%currenttime(mday)%>" onchange="document.forms[0].act_future.checked=true;" />日
<input id="inputhour" name="hour" tabindex="66" size="2" value="<%currenttime(hours)%>" onchange="document.forms[0].act_future.checked=true;" />時
<input id="inputminutes" name="minutes" tabindex="67" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_future.checked=true;" />分
変更時
<input id="inputyear" name="year" tabindex="63" size="4" value="<%currenttime(year)%>" onchange="document.forms[0].act_changedate.checked=true;" />年
<input id="inputmonth" name="month" tabindex="64" size="2" value="<%currenttime(mon)%>" onchange="document.forms[0].act_changedate.checked=true;" />月
<input id="inputday" name="day" tabindex="65" size="2" value="<%currenttime(mday)%>" onchange="document.forms[0].act_changedate.checked=true;" />日
<input id="inputhour" name="hour" tabindex="66" size="2" value="<%currenttime(hours)%>" onchange="document.forms[0].act_changedate.checked=true;" />時
<input id="inputminutes" name="minutes" tabindex="67" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_changedate.checked=true;" />分

つまり、onchangeイベント時に、変更先ラジオボタンの id を指定して、値を変えているわけです。追加の時は id=act_future で、変更の時は id=act_edit となっているので要注意です。

コメント

タイトルとURLをコピーしました