Avatar billede kennethv Nybegynder
30. juni 2009 - 00:45 Der er 7 kommentarer og
1 løsning

Refesh af min kode

Jeg har nogle checkboxe og textboxe som bliver enabled og disabled når der bliver trykket checkboxene. Men det virker som om at min kode bliver genindlæst for hver gang jeg trykker på en checkbox. Er det muligt at bare kunne gøre textbox aktiv uden at læse helt koden igen.

Checkbox1  Textbox1
Checkbox2  Textbox2
Checkbox3  Textbox3

Så hvis jeg trykker på checkBox1 gøres textbox1 aktiv
Men hvis gerne vil gøre TextBox2 aktiv skal jeg trykke 2 gange på CheckBox2, før det sker. Og det er ligesom at koden bliver genindlæst.

Kan det undgåes?
Avatar billede tjaz Nybegynder
30. juni 2009 - 00:51 #1
Fjern AutoPostBack på din checkbox
Avatar billede keysersoze Guru
30. juni 2009 - 07:26 #2
hvis du lader .NET ændre værdierne, altså hvis du benytter events på kontrollerne, så vil siden reloade hver gang - du skal så i stedet benytte javascript til at udføre de ønskede handlingerne.

Det er vigtigt at skelne imellem hvad der er serverkode og klientkode - og foretage en kritisk vurdering af hvad der er bedst i hver tilfælde. Skal der fx kommunikeres med en database er serverkode det (eneste) rigtige - det du foretager dig er dynamik og kan i teorien foregå begge steder, men mest logisk med klientkode.
Avatar billede kennethv Nybegynder
30. juni 2009 - 08:50 #3
Det eneste tidspunkt jeg tror at det vil være nødvendigt at kommunikere med en db er det øjeblik der bliver trykket på en submit knap. Derefter skal indholdet af de textboxe overføres til en sql db.
Avatar billede keysersoze Guru
30. juni 2009 - 09:15 #4
kommentaren omkring databasen var også kun et eksempel - men som sagt, skal du undgå refresh af hele din side skal du over i javascript. Det vil kunne lade sig gøre vha AJAX som er med i frameworket, men det er nok lidt overkill - så almindelig javascript var umiddelbart hvad jeg ville foretrække og på echoecho.com er der et super js-opslagsværk.
Avatar billede kennethv Nybegynder
30. juni 2009 - 11:52 #5
Jeg fandt dette her, men istedet for at den bliver disabled, forsvinder den bare. Hvad skal jeg gøre for at bruge så den bliver enabled og disabled.


function showHide (id)  {  var style = document.getElementById(id).style  if (style.visibility == "hidden")    style.visibility = "visible";  else    style.visibility = "hidden";  }

Også kalder jeg den her i min onClick:
                    <td class="table550"><asp:CheckBox ID="CheckBox2" runat="server" onclick="showHide('Lotus');" Text="Mails ønskes videresendt til:" Font-Size="Medium" /></td>
                    <td class="table200" align="center"><asp:TextBox ID="Lotus" runat="server" Width="189px" Enabled="False">USERNAME</asp:TextBox></td>

Jeg jar prøvet at ændre den til:

    function showHide(id) {
        if (document.getElementById(id).enabled == "false")
            document.getElementById(id).enabled = "true";
        else document.getElementById(id).enabled = "false";
    }

Men det er den ligeglad med. :(
Avatar billede kennethv Nybegynder
30. juni 2009 - 14:02 #6
Jeg fik det klaret. Yehaa.


    function showHide(id) {
        //document.write(id);
        if (document.getElementById(id).disabled == false)
        document.getElementById(id).disabled = true
    else
        document.getElementById(id).disabled = false
    }
Avatar billede keysersoze Guru
30. juni 2009 - 17:43 #7
super - så er du jo snart velbevandret i både VS, .NET og JS ;)
Avatar billede kennethv Nybegynder
01. juli 2009 - 08:33 #8
ROFL.
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