2012-12-07 34 views
1

在我的页面上,我使用带日历扩展器的文本框来获取日期值。 我已将onchange="ValidateStartDate();"添加到文本框中。onchange后在javascript代码中获取文本框的值

<asp:TextBox ID="TextBoxStartDate" runat="server" ForeColor="Red"  
    onchange="ValidateRsmStartDate();"> 
    </asp:TextBox>    

<asp:CalendarExtender ID="CalendarExtenderStartDate" 
    TargetControlID="TextBoxStartDate" 
    BehaviorID="ceStartDate" 
    PopupButtonID="CalendarExtenderStartDatePopup"                  
    Format="MM/dd/yyyy" runat="server"> 
    </asp:CalendarExtender> 

<img class="Spacer" id="CalendarExtenderStartDatePopup" src="Images/Calendar.png"                     
    alt="Start Date" /> 

我的JavaScript函数:

function ValidateStartDate() { 
    var txtDate = document.getElementById('<%=TextBoxStartDate.ClientID %>'); 
    alert(txtDate.innerHTML); 
} 

但在alert(),我得到根本没有价值。

回答

3

文本框确实notinnerHTML,你需要使用value

变化

alert(txtDate.innerHTML); 

alert(txtDate.value); 
+0

谢谢。那对我来说很愚蠢。 – mike44

+0

+1不会不必要地使用jQuery – tonycoupland

+0

不客气,不用担心有时候我们会忘记简单的事情。 – Adil

1

您可以轻松地从jQuery的整合。只需在你的函数中写下线。

alert($("#<%=TextBoxStartDate.ClientID %>").val()); 

或者

替换您的代码alert(txtDate.innerHTML);alert(txtDate.value);

0

使用jQuery:

$(function(){ 
    $('<%=TextBoxStartDate.ClientID%>').on("change", function(){ 
    alert($(this).val()); 
    }); 
}); 
相关问题