无法获得面板内文本框的值

时间:2014-11-25 12:16:32

标签: javascript

我现在不知道为什么我无法获得此控件的值。我尝试了两件事,我做错了什么?

文本框中的值不为null(有一个值,在page_load中设置)。

我的文字字段:

 asp:UpdatePanel ID="pnlInstruments" runat="server" UpdateMode="Conditional">
 <ContentTemplate>
 <asp:Panel ID="plStore" runat="server" GroupingText="Store">
       <div style="margin: 5px;">
       <asp:Label ID="Label6" runat="server" SkinID="header2NonBoldSkin" Text="Reval date" /><br />
       <asp:TextBox ID="txtText" runat="server" />
       <asp:Button runat="server" ID="btnStore" Text="&nbsp;&nbsp;Store&nbsp;&nbsp;" OnClick="btnStore_Click" 
           OnClientClick="return confirm('Are you sure to store data for ' + getRevalDate() +'?');" />
  </asp:Panel>
 </ContentTemplate>     
 </asp:UpdatePanel>

JS(值为null),元素为null ...:

function getRevalDate() {
        return document.getElementById('<%= txtText.ClientID %>').value;
    }

也尝试了这个(相同的结果):

function getRevalDate() {
        return document.getElementById('<%= plStore.FindControl("txtText").ClientID %>').value;
    }

1 个答案:

答案 0 :(得分:1)

将面板放在updatepanel和contenttemplate中。因此,它将在回发时刷新updatepanel的内容。

<asp:UpdatePanel ID="updatePannel" runat="server">
    <ContentTemplate>
    <asp:Panel ID="plStore" runat="server" GroupingText="Store">
       <div style="margin: 5px;">
       <asp:Label ID="Label6" runat="server" SkinID="header2NonBoldSkin" Text="Reval date" /><br />
       <asp:TextBox ID="txtText" runat="server" />
       <asp:Button runat="server" ID="btnStore" Text="&nbsp;&nbsp;Store&nbsp;&nbsp;" OnClick="btnStore_Click" 
           OnClientClick="return confirm('Are you sure to store data for ' + getRevalDate() +'?');" />
  </asp:Panel>
  </ContentTemplate>
</asp:UpdatePanel>