使用javascript从文本框获取AJAX CalendarExtender值

使用javascript从文本框获取AJAX CalendarExtender值,javascript,asp.net,Javascript,Asp.net,我想知道如何从文本框中读取值,并在单击按钮时分配给另一个文本框。此文本框连接到AJAX CalendarExtender。到目前为止,我有这个。我需要Javascript中的ShowDate()函数 <asp:TextBox ID="txtStartDate" runat="server" ReadOnly="false" Height="28px" Width="283px"></asp:TextBox> <asp:CalendarExtend

我想知道如何从文本框中读取值,并在单击按钮时分配给另一个文本框。此文本框连接到AJAX CalendarExtender。到目前为止,我有这个。我需要Javascript中的ShowDate()函数

  <asp:TextBox ID="txtStartDate" runat="server"  ReadOnly="false" Height="28px"    Width="283px"></asp:TextBox>
    <asp:CalendarExtender  ID="ClendarExtender" BehaviorID="CE1"   TargetControlID="txtStartDate" runat="server">
    </asp:CalendarExtender>

    <br />
    <asp:TextBox ID="txtShowMessage" runat="server" Height="76px" 
        style="margin-left: 336px" Width="306px"></asp:TextBox>
    <br />
    <br />
    <asp:Button ID="btnCreateNote" runat="server"  OnClientClick="showDate()"  style="margin-left: 456px" 
        Text="Button" onclick="btnCreateNote_Click" />
    <br />





那么我的js是

 function showDate() {
 var txtDate = document.getElementById('<%=txtStartDate.ClientID  %>');
 document.getElementById("txtShowMessage").value = txtDate;
 }
函数showDate(){
var txtDate=document.getElementById(“”);
document.getElementById(“txtShowMessage”).value=txtDate;
}

不知道出了什么问题,文本日期中没有值。

尝试更改Javascript
showDate()
方法,如

<script type="text/javascript" >
        function showDate() {
            var txtDate = document.getElementById('txtStartDate').value;
            document.getElementById('txtShowMessage').value = txtDate;
        }

</script>

函数showDate(){
var txtDate=document.getElementById('txtStartDate')。值;
document.getElementById('txtShowMessage')。value=txtDate;
}

我检查了这个函数,它工作得很好,希望它能为您工作。

这是因为当您编写
runat=“server”
时,ASP引擎会从它的侧面预加一些字符串。 ASP.NET有一个内置机制(INamingContainer),以确保您没有多个名为相同的控件。它通过添加容器前缀来实现这一点

所以

注意
1.我提到的第二种方法更好(使用
ClientID
)。
2.如果您想知道完整的ID,请转到网页并查看其来源,找到该文本字段并检查ID(它不会每次都更改,这是固定的)

3.有关更多信息,请参阅

谢谢Rahul和asifsid88,我相应地更改了它并正在工作。另外,获取ASP.NET设置的ID并进行操作是一个新的想法,有时会尝试。如果它解决了问题,请不要忘记接受它作为答案,欢迎
<asp:TextBox ID="txtShowMessage" runat="server"></asp:TextBox>
<input type="text" id="ctl00_ctl00_txtShowMessage" runat="server" />
document.getElementById('<%=txtShowMessage.ClientID  %>');