我的代码应该减去日期(enddate-startdate),但是什么也没发生,也无法弄清楚问题出在哪里。

 <script type="text/javascript">
        function subtractDate()
        {

            var sDate = Date.parse("<%=txtStartDate.Text%>");
            var eDate = Date.parse("<%=txtEndDate.Text%>");
            var resultDate = document.getElementById("<%=txtnumberOfDaysCovered.ClientID%>")
            if (document.getElementById(sDate) < document.getElementById(eDate)) {
                var timeDiff = eDate.Subtract(sDate);
                resultDate = Math.floor(timeDiff / (1000 * 60 * 60 * 24));


            }
        }
    </script>


我已经试过把它叫做

    protected void txtStartDate_TextChanged(object sender, EventArgs e)
    {

       // SubtractDateStartDateChange();
        Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "subtractDate(this.Id)", true);
    }

    protected void txtEndDate_TextChanged(object sender, EventArgs e)
    {
        //SubtractDate();
        Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "subtractDate(this.Id)", true);
    }

最佳答案

您从后面的代码中传递了subtractDate(this.Id),但是函数减去日期()在客户端不需要任何参数。我认为,由于此原因,该功能无法正常工作。function subtractDate()期望使用Id参数,请使用参数更改该功能。

希望以下功能起作用。

function subtractDate(var id)
        {

            var sDate = Date.parse("<%=txtStartDate.Text%>");
            var eDate = Date.parse("<%=txtEndDate.Text%>");
            var resultDate = document.getElementById("<%=txtnumberOfDaysCovered.ClientID%>")
            if (document.getElementById(sDate) < document.getElementById(eDate)) {
                var timeDiff = eDate.Subtract(sDate);
                resultDate = Math.floor(timeDiff / (1000 * 60 * 60 * 24));


            }
        }

关于javascript - 用JavaScript减去日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50344887/

10-10 22:18