人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javaスクリプトを使って、入力フォームで直近の3日が表示されるようにして、Valueにも選ばれた日付が表示されるようにしたいのですが、どのようにすればよいでしょう。

●質問者: mot
●カテゴリ:インターネット ウェブ制作
✍キーワード:Java スクリプト 入力
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mars
●35ポイント

直近の3日って

過去(一昨日?今日/一昨昨日?昨日)、

未来(今日?明後日/明日?明々後日)

それとも、昨日・今日・明日、又は今日を中心とした前後7日?

「valueにも」って?

どうにも質問がよくわかりませんでした。

例えば「今日」が11月12日だとして、具体的なフォームのHTMLを示してどんな状態になるか、どんな操作をすると結果がどうなるのを望んでいるか教えてください。

とりあえずですが、明日?明々後日をselectの選択子とするjavascriptのサンプルだけ書いておきます。

<select id="Hiduke">
</select>
<script type="text/javascript">
var SEL = document.getElementById('Hiduke');
var ToDay = new Date();
for(var i=0;i<3;i++) {
ToDay.setDate(ToDay.getDate()+1);
var OPT = document.createElement('option');
OPT.appendChild(
document.createTextNode(ToDay.getMonth()+1+'月'+ToDay.getDate()+'日')
);
OPT.value = OPT.text;
SEL.appendChild(OPT);
}
</script>

※ 質問する時に「コメント・トラックバック表示」を「回答受付中に表示」に設定しておくと、

余計な逆質問とかをコメント欄で済ませられますよ。

◎質問者からの返答

説明不足で申し訳ございません。

今日?明後日を表示させて、選択した日付をフォームで送信できるようにしたいのですが、

以下の形ではHTML構文エラーになってしまいます。

どのようにすればよろしいでしょう。

<html>

<head>

<title></title>

<script Language="JavaScript"></p> <p><!--</p> <p>//今日の日付</p> <p>function accessDate()</p> <p>{</p> <p>dt = new Date();</p> <p>document.write(dt.getYear(),"年",dt.getMonth() + 1,"月",dt.getDate(),"日");</p> <p>}</p> <p>//明日の日付</p> <p>function accessDate1()</p> <p>{</p> <p>dt = new Date();</p> <p> dt.setTime(dt.getTime() + 24 * 60 * 60 * 1000 * 1);</p> <p>year = dt.getYear() ;</p> <p>month = dt.getMonth() + 1 ;</p> <p>day = dt.getDate() ;</p> <p>document.write(dt.getYear(),"年",dt.getMonth() + 1,"月",dt.getDate(),"日");</p> <p>}</p> <p>//あさっての日付</p> <p>function accessDate2()</p> <p>{</p> <p>dt = new Date();</p> <p> dt.setTime(dt.getTime() + 24 * 60 * 60 * 1000 * 2);</p> <p>year = dt.getYear() ;</p> <p>month = dt.getMonth() + 1 ;</p> <p>day = dt.getDate() ;</p> <p>document.write(dt.getYear(),"年",dt.getMonth() + 1,"月",dt.getDate(),"日");</p> <p>}</p> <p>// --></p> <p></script>

</head>

<body>

<FORM>

<select name="取引日">

<option OnClick="this.value=( ' ' + accessDate() );"><Script Language="JavaScript"> </p> <p><!-- </p> <p>accessDate(); </p> <p>// --></script></option>

<option OnClick="this.value=( ' ' + accessDate1() );"><Script Language="JavaScript"> </p> <p><!-- </p> <p>accessDate1(); </p> <p>// --></script></option>

<option OnClick="this.value=( ' ' + accessDate2() );"><Script Language="JavaScript"> </p> <p><!-- </p> <p>accessDate2(); </p> <p>// --></script></option>

</select>

</FORM>

</body>

</html>


2 ● Mars
●35ポイント

これでどうだろう?

<select name="取引日">
<script type="text/javascript">
var ToDay = new Date();
for(var i=3;i;i--) {
var d = ToDay.getFullYear()+'年'+(ToDay.getMonth()+1)+'月'+ToDay.getDate()+'日';
document.write('<option value="'+d+'">'+d+'<'+'/option>');
ToDay.setDate(ToDay.getDate()+1);
}
</script>
</select>
◎質問者からの返答

できました。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ