0

私が持っているのは、日、月、年のそれぞれの 3 つのドロップダウン ウィンドウを表示する Java Script です。デフォルトでは今日の日付が選択されています。スクリプトの元は次のとおりです。 http://www.javascriptkit.com/script/script2/curdateform2.shtml

追加したいのは次のとおりです。

1) デフォルトまたは選択された日付が 2012-02-15 であるとします。「The selected date is: 2012-02-15」というテキストを表示させたい

2)選択した日付+30日も計算して、同様に表示したいです。私はこれまで、神の結果を伴うphp、mysqlコードを書いてきました。しかし、私の知識は、JavaScript は非常に限られていると言わざるを得ません。ありがとう!

こんにちはクリス!

2番目の提案を試しました

var day = document.getElementById('daydropdown').value;
var month = document.getElementById('monthdropdown').value;
var year = document.getElementById('yeardropdown').value;
var date_object = new Date();
var ts = Date.parse(year+'-'+month+'-'+day);
document.getElementById('d1').innerHTML = 'The selected date is: '+ date_object.setTime(ts);

本文にも追加しました:

<div style="font-weight:bold" id="d1" ></div>

しかし、私が得るのは... 選択された日付は次のとおりです: NaN

元のコードでは、関数は window.onload を使用してアクティブ化されます。私が理解できる限り、ドロップダウン リストが使用され、日付が変更されたときにコードが反応しません。これで解決できますか?

4

1 に答える 1

0

サンプルから要素 ID を変更しなかった場合:

var day = document.getElementById('daydropdown').value;
var month = document.getElementById('monthdropdown').value;
var year = document.getElementById('yeardropdown').value;

// if you simply want to display it:
var text = 'The selected date is: '+year+'-'+month+'-'+day;
alert(text);

// if you want to work with it, make a Date object
var date_object = new Date();
var ts = Date.parse(year+'-'+month+'-'+day);

// javascript dates are in miliseconds, 1 day = 86400 seconds, so...
var thirty_days = 86400 * 1000 * 30;
date_object.setTime(ts + thirty_days);

ドキュメントを参照してください: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

于 2012-04-03T21:24:52.040 に答える