在表格中的12个月后设置新日期

时间:2013-05-07 00:13:34

标签: javascript date

我是一个非常新的脚本并检查了许多答案,但找不到完整的答案。 在一个表单中,我有一个开始日期,月数和结束日期 - 我想显示输入开始日期的结束日期 - 我已经创建了这个脚本,但我必须遗漏一些东西。

这是我的代码:

[script type="text/javascript" src=Datejs][/js]
[script type="text/javascript" ]
    window.onload = function() {
        var startdateEl = document.getElementById("customFields_cf_232");
        var leasetermEl = document.getElementById("customFields_cf_34");
        var enddateEl = document.getElementById("customFields_cf_38");
        function CalculateDate {
            var enddateEl=leasetermEl.months().startdateEl;  
        }
        var enddateEl.onblur = CalculateDate;
    };
[/script]

1 个答案:

答案 0 :(得分:0)

我做到了这一点。它会实时监听您的击键。 http://jsfiddle.net/4t54J/

<input name="startDate" type="text" value="MM-DD-YYYY" />
<input name="endDate" type="text" />
var SECOND = 1000;
var MINUTE = SECOND * 60;
var HOUR = MINUTE * 60;
var DAY = HOUR * 24;
var YEAR = DAY * 365.25;

var startDateInput = 'input[name="startDate"]';
var endDateInput = 'input[name="endDate"]';

$(startDateInput).live('keypress', function (e) {
    var startDate = $(startDateInput).val();
    var endDate = setEndDate(startDate);
    $(endDateInput).val(endDate);
});

function setEndDate(startDate) {
    var date = new Date();
    var parts = startDate.split('-');
    if (date != '' && parts.length > 2) {
        // year, month (0-based), day
        date.setFullYear(parts[2], parts[0] - 1, parts[1]);
        date.setTime(date.getTime() + YEAR);
        var mm = date.getMonth() + 1;
        mm = (mm < 10 ? '0' : '') + mm.toString();
        var dd = date.getDate();
        var yyyy = date.getFullYear();
        return mm + "-" + dd + "-" + yyyy;
    } else {
        return '';
    }
}