Avatar billede alex_sleiborg Nybegynder
13. december 2007 - 01:22 Der er 3 kommentarer og
1 løsning

ASP.NET, AJAX og Trigger TextChanged på textbox

Hej

Jeg har en side lavet i ASP.NET, når jeg opretter en bruger så indtaster jeg post nr. Når det er indtastet så skal den automatisk finde byen tilhørende postnummeret. Derfor har jeg alle postnumre og byer i min db. Jeg har smidt et Ajax updatepanel ind på siden. Det virker fint når jeg laver en test knap og bruger som trigger. Men jeg vil gerne have at den gør det automatisk, så derfor har jeg valgt en TextChanged event, på min textbox, hvor jeg indtaster postnr. Men det virker ikke. Der sker ingenting. Hvad er der galt
Avatar billede mikalj Nybegynder
18. december 2007 - 12:01 #1
Textchanged på textboxes er ikke lavet med ajax i tankerne, så der sker først et postback når textboxen mister focus, for at undgå massive postbacks når man skriver i et (på en side uden ajax)

En mulig løsning jeg har set rundt omkring er at sætte en (skjult) button ind et sted, og så få javascript til at "klikke" på den hver gang man skriver i textboxen.

noget i den her stil

<asp:TextBox ID="TextBox1" runat="server" onkeyup="java script:postnrChanged()"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" style="display: none;" />
<script type="text/javascript">
function postnrChanged()
{
    var btn = document.getElementById('<%# Button1.ClientID %>');
    btn.click();
}
</script>

Så skal du selvfølgelig tilføje Button1 og dens click event som en asyncpostbacktrigger på dit updatepanel. Jeg har kun selv kunne få dette til at virke ved at beholde textboxen og dens textchanged event som en trigger også, og stadig have autopostback=true på den. Men det er i hvert fald ideen bag det, du kan jo prøve at fedte lidt rundt med det.
Avatar billede alex_sleiborg Nybegynder
10. januar 2008 - 05:14 #2
Okay, jeg laver det sådan som du skriver. Smid et svar, og mange tak:)
Avatar billede mikalj Nybegynder
11. januar 2008 - 08:55 #3
svar
Avatar billede mikalj Nybegynder
11. januar 2008 - 08:57 #4
oh, opdagede lige en lille fejl

Der skal stå
<% = Button1.ClientID %>
og ikke
<%# Button1.ClientID %>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester