
フォーム画面プルダウンメニューにて今日の年月日を自動的に取得表示する方法を探しておりましたら
http://okwave.jp/qa2538301.html のANo.2様の回答が丁度教えてほしい事だったのですが、このソースをコピーペーストして検証すると、IE7では問題なく動作するのですが、Firefox2.00.2では年のみ現在の年(2007)を取得してくれません。月と日は問題なく取得されています。
何がいけないのでしょうか?お分かりになる方ご教授いただけますようよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こんにちは
name属性を数値をするのは好ましくないです先頭にアルファベットをつけてやりましょう
<FORM method="post" action="○○.cgi" name="123"> ==> <FORM method="post" action="○○.cgi" name="a123">
forms["123"].(3箇所) ==>> forms["a123"].
if(o[i].value==year+"abc"){ ==>> if(o[i].value==year+"年"){
if(o[i].value==month+"def"){ ==>> if(o[i].value==month+"月"){
if(o[i].value==day+"ghi"){ ==>> if(o[i].value==day+"日"){
僕の作ったのも載せときますね(^^)
<script language=javascript><!--
window.onload=function(){
now = new Date();
yea = now.getFullYear();
mon = now.getMonth()+1;
day = now.getDate();
obj1 = document.today.nen;
obj2 = document.today.gatu;
obj3 = document.today.niti;
for(i=0; i<5; i++) {
m = i+2005;
obj1.options[i] = new Option(m+"年",m+"年");
if(m == yea){
obj1.options[i].selected =true;
}
}
for(i=0; i<12; i++) {
n = i+1;
obj2.options[i] = new Option(n+"月",n+"月");
if(n == mon){
obj2.options[i].selected =true;
}
}
for(i=0; i<31; i++) {
l = i+1;
obj3.options[i] = new Option(l+"日",l+"日");
if(l == day){
obj3.options[i].selected =true;
}
}
}
//-->
</script>
</head>
<body>
<form name="today">
<select name="nen"></select>
<select name="gatu"></select>
<select name="niti"></select>
</form>
No.1
- 回答日時:
問題は下記です
year = date.getYear();
getYear()はほとんどのブラウザが1900年からの年数を返します
(例:2007年の場合は107)
ただ、古いブラウザは2000年問題の1つとして話題にもなりましたが、
2000年までは1900年からの年数を返し、
それ以降は完全な年数(2007)を返してしまうというのもあります
そんな問題のあるブラウザにあわせるならば
year = date.getYear();
if(year < 2000)year += 1900;
に変更でOKです
ある程度前途以降のブラウザを対象とするならば
year = date.getFullYear();
としても大丈夫だと思います
それにしてもIE7ではOKなんですね
新しいブラウザなのにまた不思議な仕様にしているようで・・・
この回答への補足
ご回答ありがとうございます。
year = date.getFullYear();
で解決いたしました。
そこで実際に、手持ちのフォームに移行しようと試したのですが、うまく動作してくれません。
例えば、
<FORM method="post" action="○○.cgi" name="123">
<select name="abc">←年
<select name="def">←月
<select name="ghi">←日
と定義されているプルダウンがあると仮定した場合、
http://okwave.jp/qa2538301.html のANo2様のスクリプトを
<script language=javascript>
window.onload=function(){
date = new Date();
year = date.getYear();
month = date.getMonth()+1;
day = date.getDate();
var o=document.forms["123"].elements["abc"].options
for (var i=0;i<o.length;i++){
if(o[i].value==year+"abc"){
o[i].selected=true;
break;
}
}
var o=document.forms["123"].elements["def"].options
for (var i=0;i<o.length;i++){
if(o[i].value==month+"def"){
o[i].selected=true;
break;
}
}
var o=document.forms["123"].elements["ghi"].options
for (var i=0;i<o.length;i++){
if(o[i].value==day+"ghi"){
o[i].selected=true;
break;
}
}
}
</script>
としてもダメなのでしょうか?
手持ちのフォームに移行する際の注意点をご教授いただけないでしょうか?
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 簿記検定・漢字検定・秘書検定 4月から商業高校の会計科に通う予定の中学生です。現在春休みで、簿記検定3級を取得しようと考えており、 1 2023/03/04 14:40
- 投資・株式の税金 一般口座で同一銘柄の総平均法のことで 1 2023/02/27 22:08
- 簿記検定・漢字検定・秘書検定 満期保有目的債券の償却原価法の計算について(簿記2級) 1 2022/06/18 15:40
- 労働相談 有給休暇について 4 2022/07/30 15:28
- その他(学校・勉強) 来年4月から経済学部の大学一年生になる予定の者です。 私は将来入りたい企業があり、そこに入社するため 8 2022/08/23 04:49
- その他(ビジネス・キャリア) 有給休暇トラブル 3 2023/02/05 15:09
- TOEFL・TOEIC・英語検定 2014年に購入した英文法書でTOIEC対策をしてもよいか? 1 2023/01/08 11:41
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- 英語 "this day"が当日か今日を表すのかの使い分け方等について 5 2023/08/08 14:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンをトリガーにしたボ...
-
jQuery セレクトボックスで選択...
-
JavaScript 選択肢の中で選ん...
-
コンボボックスへの入力に関して
-
リストボックスと連動したテキ...
-
フォームメール ラジオボタン...
-
外部ファイルによる簡易検索ウ...
-
いつも参考にさせて頂いています。
-
onchange等のイベントハンドラ...
-
IDの取得、繰り返しに問題があ...
-
AxWebBrowserで開いたWebページ...
-
これはAnd演算に変えてよいか?
-
HP内に検索エンジンを置きたい...
-
txtbox「確認用メール」へのペ...
-
入力欄の消去方
-
まとめてセルの色を変えたい
-
テキストフィードを「無効にす...
-
初歩的な質問ですが・・
-
javascriptの勉強中です
-
[javaScript] form action
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Selectボックスの幅を自動で広...
-
プルダウン 項目が多いので先頭...
-
jQuery セレクトボックスで選択...
-
Selectの中身をfor文で入れる
-
CSVファイルを読みこみ、プルダ...
-
【javascript・PHP】プルダウン...
-
JQuery selectが反映されない
-
html selectの内容を初期値に戻す
-
フォームのメニューリストを外...
-
セレクトの値を取得できない
-
セレクトを全て選択されていな...
-
ラジオボタンでポップアップメ...
-
現在時刻を取得してフォームのs...
-
javascriptでselectボックスの<...
-
JavaScriptでプルダウンのサイ...
-
リロード時もコンボボックスの...
-
プルダウンとテキストの連動
-
テーブルにおける行(セルにプル...
-
HTMLコンボボックスへの項目追加
-
jquery での <select multiple=...
おすすめ情報