12. august 2008 - 09:23Der er
17 kommentarer og 1 løsning
Alternativ til .click() på et link <a>
Internet Explorer har implementeret en .click() funktion på links, det er der dog umiddelbart ikke andre browsere der har, i hvert fald ikke Firefox og safari.
Jeg bruger den til at lave et postback fra en textbox igennem et link, da jeg har erstattet knapper med links. Så når jeg kører linkKnap.click() køres ASP.NETs javascript __doPostBack(); og der laves så postback.
Jeg kan ikke bare køre __doPostBack() fra textboxen, da det betragtes som et sikkerhedsbreach, at en kontrol prøver at lave postback for andre kontroller.
Så jeg er lidt på bar bund over hvad jeg så skal gøre, da det skal være en textbox, og et link der skal benyttes. Er der nogen der har nogen geniale input?
Hmmm, kan se at der ikke er noget i onclick, det ligger i href, så internet explorer har implementeret at hvis der ikke er noget i onclick, køres href, ihvertfald hvis der ligger java script: i href.
hmm, tricky, jeg vil lige kigge på at override noget af ASP.NETs funktionalitet så den kører onclick istedet for href.
Jokkejensen, nej jeg benytter allerede asp:linkbutton, problemet er at det er links, og når man så skal sammenbygge det med javascript, så begynder det at blive lidt besværligt
w13, jeg var først lidt bange for at den røg i sikkerhedsfælden, hvor andre ting ikke kan lave postback på andres vegne, men det virkede kraftedme, man fristes jo næsten til at sige at du er et geni :D ps, jeg brugte den første version med: onclick="window.location.href=document.getElementById('mitLink').getAttribute('href')"
okay, kender ikke scenariet, men det lyder forkert. Eller jeg har ikke haft behov for at skulle pille/behandle .nets eget genereret JS (ud over det JS lib der kommer med ajax.net), men så længe løsningen ikke skal skifte framework mm. Er det vel ligegodt.
Synes godt om
Ny brugerNybegynder
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.