0

テキストボックスでテキストが更新される前にポップアップが表示されることに気付きました。ページがレンダリングされる前にjsが呼び出されると思います...それは「未定義」ポップアップを説明します...ページの後にjsが呼び出されることを確認するにはどうすればよいですかレンダリングされますか?

できるだけシンプルにするために書き直します。

<body>
<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:TextBox ID="txtRcaNotes" runat="server" TextMode="MultiLine" Width="800px"></asp:TextBox><br />
            <asp:Button ID="btnDoneWithRcs" runat="server" OnClick="btnDoneWithRcs_Click" Text="Action Completed / Update Notes" />
        </ContentTemplate>
    </asp:UpdatePanel>
</form>

<script type="text/javascript">

        var prm = Sys.WebForms.PageRequestManager.getInstance();
            prm.add_endRequest(
            function(){doStuff();}
            );

        function doStuff()
        {
            $(document).ready(function() {
                                $('txtRcaNotes').hide(); 
                                alert($('txtRcaNotes').attr('id'));
                                });
        }

</script>
</body>

コードビハインド:

protected void btnDoneWithRcs_Click(object sender, EventArgs e)
{
    txtRcaNotes.Text += "asdfadf";
}

テキストボックスが非表示にならず、ALERT() が「未定義」を返す

代替テキスト

4

2 に答える 2

1

IDセレクター構文が欠落しているだけです。試す:

$('#<%= txtRcaNotes.ClientID %>').hide(); 
alert($('#<%= txtRcaNotes.ClientID %>').attr('id'));

"#"各セレクターの前に追加されていることに注意してください。

于 2009-02-26T02:40:32.883 に答える
0

Firebugまたはその他のDOMインスペクターを使用して、AJAX呼び出しの前後にASP.NETによって生成されている実際の要素IDをチェックし、それらが同じであるかどうかを確認することもできます。

于 2009-02-26T02:32:08.037 に答える