OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ジャバスクリプトを使うのでしょうか?

  • 困ってます
  • 質問No.199988
  • 閲覧数29
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 58% (66/113)

初心者です。説明が不充分で、理解できないような文章ですみません。
個人的なホームページを作成しています。
フォームを使ってアンケートを送信できるものを作っていますが、
そこで問題点にぶつかってしまいましたので、お力をお借りしたいです。

プルダウン表示で自動的に現在日付を規定値に表示したいのですが、
どのようにすればいいのでしょうか?

よろしくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル14

ベストアンサー率 24% (612/2465)

JavaScriptは勉強始めたばっかりなので、ちょっと醜くなっていますが、
極力元ソースに合わせて書いてみました。
書籍や、インターネットなどで、なぜこう動くのかを調べながら勉強してください。でないと、修正が効かなくなってしまいますので。
---
<HTML>
<HEAD>

<SCRIPT language="JavaScript">
function hanbai() {;
window.open("hyouji.htm", "MenuWindow", "width=500,height=400,resizable=yes", scrollbar="YES");
};
</SCRIPT>
</HEAD>

<BODY link="#00cc00" vlink="#ff0000" alink="#ffff00">
<FORM method="POST" enctype="text/plain">
<CENTER>
<TABLE border="1" width="476">
<TBODY>
<TR>
<TD height="22" align="center" bgcolor="#bbe4f9" width="145"><FONT color="#000000"><B><FONT size="4">希望日</FONT></B></FONT></TD>
<TD height="22" colspan="2">
<script type="text/javascript">
var d1 = new Date();
var y = new Array('14','15');
document.writeln('<SELECT NAME="希望年">');
for (i=0; i<y.length; i++){
if (2002+i == d1.getFullYear()) {
document.writeln('<OPTION value="'+y[i]+'" selected>'+y[i]);
}
else {
document.writeln('<OPTION value="'+y[i]+'">'+y[i]);
}
}
document.writeln('</SELECT>');
</script>
</FONT>
<FONT size="4">年
<script type="text/javascript">
var d1 = new Date();
var m = new Array('01','02','03','04','05','06','07','08','09','10','12');

document.writeln('<SELECT NAME="希望月">');
for (i=1; i<=m.length; i++){
if (i == d1.getMonth()+1) {
document.writeln('<OPTION value="'+m[i-1]+'" selected>'+m[i-1]);
}
else {
document.writeln('<OPTION value="'+m[i-1]+'">'+m[i-1]);
}
}
document.writeln('</SELECT>');
</script>

<script type="text/javascript">
var d1 = new Date();
var d = new Array('01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31');


document.writeln('<SELECT NAME="希望日">');
for (i=1; i<=d.length; i++){
if (i == d1.getDate()) {
document.writeln('<OPTION value="'+d[i-1]+'" selected>'+d[i-1]);
}
else {
document.writeln('<OPTION value="'+d[i-1]+'">'+d[i-1]);
}
}
document.writeln('</SELECT>');
</script>
日</FONT></TD>
</TR>
</TBODY>
</TABLE>
</CENTER>
<CENTER></CENTER></FORM>
</BODY>
</HTML>
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 24% (612/2465)

こんなんでどうでしょう。 ---- <HTML> <HEAD> <MEAT http-equiv="Content-script-type" content="text/javascript"> </HEAD> <BODY> <FORM METHOD=POST Action=" ...続きを読む
こんなんでどうでしょう。
----
<HTML>
<HEAD>
<MEAT http-equiv="Content-script-type" content="text/javascript">
</HEAD>
<BODY>
<FORM METHOD=POST Action=".">
<script type="text/javascript">
var d1 = new Date();
document.writeln('<SELECT NAME="YEAR">');
for (i=2000; i<2010; i++){
if (i == d1.getFullYear()) {
document.writeln('<OPTION value="'+i+'" selected>'+i);
}
else {
document.writeln('<OPTION value="'+i+'">'+i);
}
}
document.writeln('</SELECT>');

document.writeln('<SELECT NAME="MONTH">');
for (i=1; i<=12; i++){
if (i == d1.getMonth()+1) {
document.writeln('<OPTION value="'+i+'" selected>'+i);
}
else {
document.writeln('<OPTION value="'+i+'">'+i);
}
}
document.writeln('</SELECT>');

document.writeln('<SELECT NAME="DAY">');
for (i=1; i<=31; i++){
if (i == d1.getDate()) {
document.writeln('<OPTION value="'+i+'" selected>'+i);
}
else {
document.writeln('<OPTION value="'+i+'">'+i);
}
}
document.writeln('</SELECT>');
</script>
</FORM>

</BODY>
</HTML>
----
補足コメント
oha-kon

お礼率 58% (66/113)

早速のご回答ありがとうございます。
何せ初心者のために、説明不足でいろいろすみません。
madmanさんのご回答をそのままhtmlに書き換えたら理想通りになりましたが、
私の頭では応用するのが難しいです。(すみません)
もし、さらにお力をお借りできればお願いします。

私の作ったHTMLは下記の通りです。
これにどのように補足すればよいのでしょうか?


<HTML>
<HEAD>

<SCRIPT language="JavaScript">
function hanbai() {;
window.open("hyouji.htm", "MenuWindow", "width=500,height=400,resizable=yes", scrollbar="YES");
};
</SCRIPT>
</HEAD>

<BODY link="#00cc00" vlink="#ff0000" alink="#ffff00">
<FORM method="POST" enctype="text/plain">
<CENTER>
<TABLE border="1" width="476">
<TBODY>
<TR>
<TD height="22" align="center" bgcolor="#bbe4f9" width="145"><FONT color="#000000"><B><FONT size="4">希望日</FONT></B></FONT></TD>
<TD height="22" colspan="2"><FONT color="#000000"><SELECT name="希望年">
<OPTION value="14">H14</OPTION>
<OPTION value="15">H15</OPTION>
</SELECT></FONT><FONT size="4">年<SELECT name="希望月">
<OPTION value="01" selected>01</OPTION>
<OPTION value="02">02</OPTION>
<OPTION value="03">03</OPTION>
<OPTION value="04">04</OPTION>
<OPTION value="05">05</OPTION>
<OPTION value="06">06</OPTION>
<OPTION value="07">07</OPTION>
<OPTION value="08">08</OPTION>
<OPTION value="09">09</OPTION>
<OPTION value="10">10</OPTION>
<OPTION value="11">11</OPTION>
<OPTION value="12">12</OPTION>
</SELECT>月<SELECT name="希望日">
<OPTION value="01" selected>01</OPTION>
<OPTION value="02">02</OPTION>
<OPTION value="03">03</OPTION>
<OPTION value="04">04</OPTION>
<OPTION value="05">05</OPTION>
<OPTION value="06">06</OPTION>
<OPTION value="07">07</OPTION>
<OPTION value="08">08</OPTION>
<OPTION value="09">09</OPTION>
<OPTION value="10">10</OPTION>
<OPTION value="11">11</OPTION>
<OPTION value="12">12</OPTION>
<OPTION value="13">13</OPTION>
<OPTION value="14">14</OPTION>
<OPTION value="15">15</OPTION>
<OPTION value="16">16</OPTION>
<OPTION value="17">17</OPTION>
<OPTION value="18">18</OPTION>
<OPTION value="19">19</OPTION>
<OPTION value="20">20</OPTION>
<OPTION value="21">21</OPTION>
<OPTION value="22">22</OPTION>
<OPTION value="23">23</OPTION>
<OPTION value="24">24</OPTION>
<OPTION value="25">25</OPTION>
<OPTION value="26">26</OPTION>
<OPTION value="27">27</OPTION>
<OPTION value="28">28</OPTION>
<OPTION value="29">29</OPTION>
<OPTION value="30">30</OPTION>
<OPTION value="31">31</OPTION>
</SELECT>日</FONT></TD>
</TR>
</TBODY>
</TABLE>
</CENTER>
<CENTER></CENTER></FORM>
</BODY>
</HTML>
投稿日時 - 2002-01-17 17:03:37


  • 回答No.2

このプルダウンは、どのように表示するのでしょう? もし、フォーム自体をCGI(例えばPerlなど)を使って作成しているのなら、Perlで現在日付を算出して、該当日付をHTML出力するときにselectedをつければ良いと思います。 JavaScriptで書き出す方法はmadmanさんが書かれているので、日付の部分をHTMLで直書きしていて、当日日付を自動選択させる場合のソースを載せておきますね。 ...続きを読む
このプルダウンは、どのように表示するのでしょう?
もし、フォーム自体をCGI(例えばPerlなど)を使って作成しているのなら、Perlで現在日付を算出して、該当日付をHTML出力するときにselectedをつければ良いと思います。

JavaScriptで書き出す方法はmadmanさんが書かれているので、日付の部分をHTMLで直書きしていて、当日日付を自動選択させる場合のソースを載せておきますね。

<html>
<head>
<script language="javascript">
<!--
 function setDate(){
  var myDate=new Date();
  gettoDay = myDate.getYear().toString() + (myDate.getMonth()+1) + myDate.getDate();
  for(i=0;i<document.frm.slc.options.length;i++){
   if(document.frm.slc.options[i].value == gettoDay){
    document.frm.slc.selectedIndex = i;
   }
  }
 }
//-->
</script>
</head>
<body onLoad="setDate()">
<form name="frm">
<select name="slc">
 <option value="2002115">1月15日
 <option value="2002116">1月16日
 <option value="2002117">1月17日
 <option value="2002118">1月18日
 <option value="2002119">1月19日
</select>
</form>
</body>
</html>

IE5.5でのみ動作確認しました。
ただ、getYear()関数が、ブラウザによって取得する値が4桁だったり2桁だったりするので、全ブラウザに対応したい場合は、そこらへんの改良が必要と思います。(^^;;
補足コメント
oha-kon

お礼率 58% (66/113)

HIROYOさん、早速のご回答ありがとうございます。
No.1にご回答を頂いたmadmanさんのご回答の欄に補足をさせていただきました
ように、もしさらにお力をお借りできれば幸いです。
よろしくお願いします。
投稿日時 - 2002-01-17 17:04:44
  • 回答No.4
レベル10

ベストアンサー率 47% (22/46)

ページが表示された時にプルダウン表示を現在日付にするなら window.open("hyouji.htm", "MenuWindow","width=500,height=400,resizable=yes", scrollbar="YES"); }; ここから追加と編集。 function aaa(){ ...続きを読む
ページが表示された時にプルダウン表示を現在日付にするなら

window.open("hyouji.htm", "MenuWindow","width=500,height=400,resizable=yes", scrollbar="YES");
};

ここから追加と編集。

function aaa(){
ddd = new Date()
nen = ddd.getYear()
tuki = ddd.getMonth()
hinichi = ddd.getDate() -1
if(nen != 2002)document.forms[0].elements[0].options[1].selected = 1
document.forms[0].elements[1].options[tuki].selected = 1
document.forms[0].elements[2].options[hinichi].selected = 1
}
</SCRIPT>
</HEAD>

<BODY link="#00cc00" vlink="#ff0000" alink="#ffff00" onLoad=aaa()>

ここまでが追加と編集。

<FORM method="POST" enctype="text/plain">
<CENTER>
<TABLE border="1" width="476">


あとは変更なし。

追加した部分では、body が読み込まれたら現在日を取得し、
それに対応したOPTIONの表示値を選択状態にしている。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ