• ベストアンサー

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

初心者です。説明が不充分で、理解できないような文章ですみません。 個人的なホームページを作成しています。 フォームを使ってアンケートを送信できるものを作っていますが、 そこで問題点にぶつかってしまいましたので、お力をお借りしたいです。 プルダウン表示で自動的に現在日付を規定値に表示したいのですが、 どのようにすればいいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • madman
  • ベストアンサー率24% (612/2465)
回答No.3

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>

その他の回答 (3)

  • A__
  • ベストアンサー率47% (22/46)
回答No.4

ページが表示された時にプルダウン表示を現在日付にするなら 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の表示値を選択状態にしている。

noname#1785
noname#1785
回答No.2

このプルダウンは、どのように表示するのでしょう? もし、フォーム自体を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
質問者

補足

HIROYOさん、早速のご回答ありがとうございます。 No.1にご回答を頂いたmadmanさんのご回答の欄に補足をさせていただきました ように、もしさらにお力をお借りできれば幸いです。 よろしくお願いします。

  • madman
  • ベストアンサー率24% (612/2465)
回答No.1

こんなんでどうでしょう。 ---- <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
質問者

補足

早速のご回答ありがとうございます。 何せ初心者のために、説明不足でいろいろすみません。 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>

関連するQ&A

  • Java scriptのonchangeについて

    HTML&PHPで動的にアンケートフォームを作成しているものです。 都道府県、県庁所在地をプルダウンで選択したいと思っております。 「onChange=onChange=this.form.submit();」 だと、<form>のアクション先へ飛ぶことになります。 プルダウン選択を変えるとアンケートのデータが揃うまで同じモジュールに飛ばしたいと考えています。 決定ボタンで次のモジュールへ遷移させる方法はございますか?

  • java script の作成方法

    まったくの初心者です。 scriptの記述ができるほどではありませんが、現在勉強中です。 ホームページのコンテンツを作るため、プルダウンメニューからある一つのものを選ぶと、その結果が横や下のFORMに 表示されるようなものを作成したいと思います。 プルダウンには1から10を入力し、その結果、たとえば1が選択されたら、Aが表示されるといったものです。 宜しくお願いします。

  • Java scriptのonchangeについて 続

    すみません、前回の質問で意図がうまく伝わらなかったみたいなので詳しくします。 現在アンケートフォームを動的に作成しています。 プルダウンの値はDBから引っ張るので 今回はJavascriptを使用(プルダウンの作成に関しては)しません。 PHPより1回1回値をとりカテゴリー別(4連続プルダウ運)に値をセットする形になります。 今作成中のものは <select onChange=onChange=this.form.submit();> で自モジュールを呼び、プルダウン(4連続)に DB値をセットしてます。 フォームの情報が出揃ったところで決定ボタンを押し、 フォーム確認モジュールを呼びたいのですが、 <form>タグのアクション先が自モジュールのため 遷移できません。 要は、プルダウン時と決定ボタン押下時の 遷移先を変えたいのです。 これはJavascriptを使用なのでしょうか? Javascriptは初心者のためなるべく具体的にお願いいたします。 よろしくお願いいたします。

  • ホームページビルダーVer9を使ってのフォーム

    ホームページビルダを使用してお問合せフォームを作成したいのですが、教えてください。 内容は ホームページを閲覧する人が疑問や質問事項などを こちらが用意したフォームに入力して送信するようなものです。 名前や住所(プルダウンで選べるようにしたい)や電話番号などです。 アンケートの作成というメニューで行うのかと思って、途中まで作成したのですが、プルダウンの作成がわかりませんでした。よろしくお願いします

  • ホームページを作っているのですが・・・・

    ホームページを今、作成しています。まず、NEWSのページを作りみんなに新しい情報をあげたいと思ったのですが、自分で文章を作成するのが難しくてできません。といっても新聞社の文章をコピーするのも著作権で守られていると思うので、できないと思います。だから、著作権フリーのNEWSのページは知りませんか?コピーして公開しても問題がないところをお願いします。そして2つ目に投票フォームとアンケートフォームを作りたいと思っています。投票フォームとは接続速度を聞いたり簡単な1クリックで答えられるフォームを作りたいのですができません。やり方を教えてください。2つ目のアンケートフォームはアンケートをしたいと思っていて作成してみて公開してみたら、送信ボタンを押しても保存されません。アンケートフォームの作り方も教えてください。1つずつでもいいですから教えてください。よろしくお願いします。

  • JAVA SCRIPTフォームメール複数送信がしたいのですが・・・

    JAVASCRIPTで「お問い合わせ」フォームを作成しました。 送信で指定されたメールアドレスへ送信できるのですが、できれば同時に2人に送信できるようにしたいのです・・・がJAVA SCRIPTでは可能なのでしょうか? もし、可能であるならばその方法を教えて頂けないでしょうか? ※私のHP作成レベルは初心者です。 JAVA SCRIPTフォームメールは、フリーソースを提供して頂けるサイトからコピー&ペーストし、こちらで修正し作成しました。

  • ホームページビルダーのスクリプトエラーについて

    ホームページビルダーでアンケートフォームを作成したのですが、 送信しようとすると このページのスクリプトエラーが発生しました。 ライン:98 文字:1 エラー:オブジェクトを指定してください コード:0 とでました。 アンケ-トの答えを必須にして入力をしなくてもエラーがかかりません。どうしたらよいでしょうか?

  • JAVAスクリプト

    現在ホームページ作成中です。 そこでページ内の一部分がJAVAスクリプトで写真が自動で切り替わり 切り替わるときにフェードアウト、フェードインし、かつ、ループしないで、6枚の写真表示を した後、6枚目で写真が止まり、フェードアウトし写真表示部分が白一色になったときに 下の重なってるバックグラウンド画像が出てこないようにしたいです。 また、対応するのもIEだけでなくファイヤーフォックス等にも全て対応している JAVAスクリプトソースを教えてください。 面倒な質問ですが、お助けください。よろしくお願いします。

  • <form>タグについて2

    今、ホームページを作成していて、その中でアンケートを<form>を使って作ったのですが実際に自分でアンケートをやってみるといろいろと問題がでてきました。 1、まず実際に自分でアンケートをやってみたのですが送信を押すと「このフォームは電子メールを使用して送信されます。このフォームを送信すると、電子メールアドレスが受信者に公開され、フォームのデータが暗号化されずに送信されます。この送信を続行できますが、取り消すこともできます。」というメッセージが出てきました。受信者(私)に公開されずにさらにデータを暗号化して送信する方法はありませんか? 2、送信したあと、ページはそのままで何も表示されませんでした。「アンケート有難うございました」などのメッセージを表示させることはできませんか? 3、実際に送られてきましたがそのメールには何も書かれていませんでした。アンケートの送信はどうやればいいでしょうか? どれでもいいのでお答えください!下記にHTMLを載せておきます。

    • ベストアンサー
    • HTML
  • Access2002でフォームに現在の日付

    Access2002でフォームの規定値に関数Dateを使って現在の日付が自動で入るようにしていたのですが、他のフォームや新たにクエリを作っていたら日付が#Name?となってしまいましたどうしてでしょうか? アクセス初心者ですよろしくお願いします。

専門家に質問してみよう