2009-02-26 6 views
0

J'ai remarqué que popup affiche AVANT que le texte ne soit mis à jour dans la zone de texte, je suppose que js est appelé avant que la page ne soit rendue ... popup ... comment puis-je m'assurer que js est appelé APRÈS que la page soit rendue?

réécriture pour le rendre aussi simple que possible:

<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> 

code Derrière:

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

TEXTBOX NE CACHE GET, ALERT() Returns 'UNDEFINED'

alt text http://i41.tinypic.com/deyc14.jpg

Répondre

1

Il vous manque votre syntaxe de sélection d'identifiant. Essayez:

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

Notez l'ajout "#" préfixé avant chaque sélecteur.

+0

oh man ... j'ai passé trop de temps sur celui-ci ... merci :) –

0

Une chose que vous pourrait essayer est en utilisant Firebug, ou un autre inspecteur DOM et vérifier les ID élément réels qui sont générés par ASP.NET avant et après votre appel AJAX et voir si elles sont les mêmes.

+0

c'était la première chose que j'ai vérifié, tous les ID correspondent –

Questions connexes