javascript更改文本框值onchange

时间:2013-07-12 16:23:07

标签: javascript asp.net textbox

我有一个StartDate和一个ExpiryDate文本框。两者都采用10/12/2013的形式。

我希望能够做的是,当您更改StartDate文本框(无论是空的还是仅更新日期)时,ExpiryDate文本框需要在日期上添加1年。

示例:

如果StartDate = 10/12/2013,那么ExpiryDate将自动更改为10/12/2014。

如何用JS做到这一点?

function MyFunc() {
            MyTextBox = document.getElementById("<%= TextBox1.ClientID %>");
            MyTextBox2 = document.getElementById("<%= TextBox2.ClientID %>");
            var date = new Date(MyTextBox.value);
            var day = date.getDate();
            var month = date.getMonth() + 1;
            var year = date.getFullYear() + 1;
            MyTextBox2.value = day + "/" + month + "/" + year;
        }

2 个答案:

答案 0 :(得分:3)

试试这个,只要你需要设置过期日期就调用setExpiryDate()函数。

function setExpiryDate() {
    var txtStartDate = document.getElementById("ctrl1");
    var txtExpiryDate = document.getElementById("ctrl2");

    var dt = new Date(txtStartDate.value);

    if (!isNaN(dt)) {
        dt = dt.setYear(dt.getYear() + 1);
        txtExpiryDate.value = padStr(temp.getDate()) + '/' + padStr(temp.getMonth() + 1) + '/' + temp.getFullYear().toString();
    }
}

function padStr(i) {
    return (i < 10) ? "0" + i : "" + i;
}

答案 1 :(得分:0)

这个怎么样:

function updateInput(value){
    document.getElementsById('Yourelement').Value = value;
}

除此之外,你需要的只是一些日期解析/字符串操作来找到正确的年份。