我想做一些计算,得到用户输入到文本框中的2个日期的差值,并将其显示在标签或文本框中。我的其中一个日期是固定日期,并显示在一个名为Asofdate的标签中。用户将在DOL文本框中输入第二个日期。
下面是我的html代码:
<tr>
<td style="font-weight: bold; text-align:left; width:80px"> As of Date: </td>
<td>
<asp:Label ID="lblAsOfDate" runat="server" Text="04/15/2018">/asp:Label>
</td>
</tr>
<tr>
<td class="ColWidth">
<span class="red" style="color: #FF0000; font-weight: bold;">*</span>
<asp:Label ID="lblDOL" runat="server" Text="DOL "></asp:Label>
</td>
<td class="InputCallWidth" style="vertical-align: top;">
<asp:TextBox ID="txtDOL" runat="server" placeholder="MM/DD/YYYY"
Height="25px" Width="120px" Enabled="True" onkeyup="getTotalDaysDown();"
ClientIDMode="Static">
</asp:TextBox>
<br />
<ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender3"
runat="server"
ClearMaskOnLostFocus="true"
AutoComplete="false"
MaskType="Date"
Mask="99/99/9999"
InputDirection="LeftToRight"
TargetControlID="txtDOL">
</ajaxToolkit:MaskedEditExtender>
<ajaxToolkit:MaskedEditValidator ID="MaskedEditValidator3"
ControlExtender="MaskedEditExtender3"
runat="server"
ControlToValidate="txtDOL"
IsValidEmpty="False"
EmptyValueMessage="Date is Required!"
Display="Dynamic" ValidationGroup="logSave"
InvalidValueMessage='Invalid Date!' Font-Size="Smaller"
Font-Bold="True" ForeColor="Red"
MaximumValue="12/31/9999" MaximumValueMessage="Invalid Date!"
MinimumValue="1/1/1754 " MinimumValueMessage="Invalid Date!">
</ajaxToolkit:MaskedEditValidator>
</td>
<tr>
这是我使用我的脚本进行计算的部分。这是公式:(AsOfDate - Dol) +1
<script language="javascript" type="text/javascript">
function getTotalDaysDown() {
//Here is the part that I have problem. I can't get the values from label and textbox.
var AsOfDate = document.getElementById("lblAsOfDate").value;
var DOL = document.getElementById("txtDOL").value;
var diff = (new Date(AsOfDate) - new Date(DOL)) / (1000 * 60 * 60 * 24);
//I don't get no result populated in my lblDaysDown label.
//In the console I get the error that "Cannot read property 'value' of null"
document.getElementById('<%=lblDaysDown.ClientID %>').innerHTML = (diff + 1);
return false;
}
</script>
https://stackoverflow.com/questions/50843915
复制相似问题