• ベストアンサー

フォームの年号リストの自動更新

CGIやjavaは余りよくわからないのですが、 現在、申込みフォームのところに 年号をセレクトできるようになっています。 この年号を、 ●去年 ●今年 ●来年 という順に年号で表示したいのですが、 (つまり、今年だと 2008 2009 2010 というように) これを自動更新することは可能でしょうか? 来年になると自動的に 2009 2010 2011 と表示したいのです。 その記述方法を教えていただきたいです。 説明がわかりづらくてすみませんが、 これだけでわかりますでしょうか? どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ryu_chan
  • ベストアンサー率37% (69/186)
回答No.2

selectならこんな感じになると思います。 <script type="text/javascript"> <!-- onload = function() { var select = document.getElementById("year"); var thisYear = (new Date()).getFullYear(); var years = [thisYear - 1, thisYear, thisYear + 1]; for ( var i in years ) { var option = document.createElement("option"); option.value = years[i]; option.appendChild( document.createTextNode(years[i]) ); select.appendChild(option); } } --> </script> <form> <p> <select id="year"> </select> </p> </form>

red_tom
質問者

お礼

ありがとうございました! 大変助かりました! javaも勉強しなくちゃいけませんね~。

その他の回答 (1)

  • ryu_chan
  • ベストアンサー率37% (69/186)
回答No.1

例えばJavaScriptだと以下のようにしてできます。 ただし、JavaScriptの場合、携帯やJavaScriptをOFFにされたりすると動作しないです。 CGIならば、上記条件でも動作しますが、手間がかかります。 <script type="text/javascript"> <!-- onload = function() { var p = document.getElementById("year"); var thisYear = (new Date()).getFullYear(); var years = [thisYear - 1, thisYear, thisYear + 1]; for ( var i in years ) { var input = document.createElement("input"); input.value = years[i]; input.name = "year"; input.type = "radio"; p.appendChild(input); p.appendChild( document.createTextNode(years[i]) ); p.appendChild( document.createElement("br") ); } } --> </script> <form> <p id="year"></p> </form>

red_tom
質問者

補足

ryu_chanさん、早速のご回答、大変ありがとうございます。 説明が悪くて申し訳ありません。 ご回答いただいたJavaScriptだと ------------- ○2008 ○2009 ○2010 ------------- (○はラジオボタン) となりますが、希望はselect(プルダウンして選択するタイプ)なのですが、それでも可能でしょうか? 初心者なので、説明が悪くて申し訳ありません。 よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう