如何在两个不同的文本框上显示值

时间:2017-08-08 08:52:10

标签: javascript

我想计算start_date和end_date之间的总天数。这里我有两个文本框,一个是end_date的文本框,另一个是start_date和end_date之间的总天数。我想要做的是当用户点击按钮时,end_date文本框中填充了结束日期和总天数文本框填充了总数天 。任何人都可以帮我吗?

这是代码。

<html>
<head>

<script>
$(document).ready(function () {
    $('#txtDate').datepicker();
    $('#follow_Date').getDate();
    $('#dura').getValue();
    $('#mark').getValue();


});

function getdate() {
    var sd = document.getElementById('txtDate').value;
    var d = document.getElementById('dura').value;
    var m = document.getElementById('mark').value;

    var date = new Date(sd);
    var newdate = new Date(date);
    var duration = parseInt(d);
    var marking = parseInt(m);


    if ( marking === 1 )
    {
        newdate.setDate(newdate.getDate());
    }
    else if ( marking === 2 )
    {
         newdate.setDate(newdate.getDate() + duration);
    }
    else if ( marking === 3 )
    {
         newdate.setDate((newdate.getDate() + duration)+1);
    }


    var dd = newdate.getDate();
    var mm = newdate.getMonth()+1;
    var y = newdate.getFullYear();

    var someFormattedDate = y + '-' + mm + '-' + dd;
    document.getElementById('follow_date').value = someFormattedDate;

}
function getdays()
{
    var days = (follow_date.setdate(follow_date.getDate()) - newdate.setDate(newdate.getDate()));
}

</script>
</head>
<body>

<p>Date:
    <input id="txtDate" type="text" />
</p>
<p>Duration :
    <input id="dura" type="text" />
</p>

<p>Marks:
    <input id ="mark" type = "text"/>
</p>
<p>
  <input type="button" onclick="getdate()" value="Fill Follow Date" />
</p>
<p>End Date:
    <input id="follow_date" type="text" onkeydown="getdate()" />
</p>
<p>Days :
    <input id="days" type="text" onkeydown="getdays()" />
</p>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

我不确定最后你想做什么,但你的代码中有很多错误。

您的getdays函数无法访问getdate函数中的变量,例如follow_datenewdate,您需要定义全局变量或将它们作为参数传递给函数才能使用它们。

此外,您将jQuery函数与纯JavaScript混合(如果您甚至包含jQuery)。

这是一个小小的想法,你需要做什么来显示另一个变量作为输入值,请参阅注释并添加两行:

function getdate() {
    var sd = document.getElementById('txtDate').value;
    var d = document.getElementById('dura').value;
    var m = document.getElementById('mark').value;

    var date = new Date(sd);
    var newdate = new Date(date);
    var duration = parseInt(d);
    var marking = parseInt(m);


    if ( marking === 1 )
    {
        newdate.setDate(newdate.getDate());
    }
    else if ( marking === 2 )
    {
         newdate.setDate(newdate.getDate() + duration);
    }
    else if ( marking === 3 )
    {
         newdate.setDate((newdate.getDate() + duration)+1);
    }


    var dd = newdate.getDate();
    var mm = newdate.getMonth()+1;
    var y = newdate.getFullYear();

    var someFormattedDate = y + '-' + mm + '-' + dd;
    document.getElementById('follow_date').value = someFormattedDate;

    // added this two lines, that will set the days to your days input element
    var days = (follow_date.setdate(follow_date.getDate()) - newdate.setDate(newdate.getDate()));
    document.getElementById('days').value = days;
}

但是如上所述,代码可能存在更多问题,我建议您阅读一本优秀的JavaScript指南,如果您想更好地解读它,首先要从简单的事情开始,重写代码是没有意义的,所以它只是工作我猜