01. juni 2003 - 15:01
Der er
14 kommentarer og 1 løsning
Usercontrols og Javascript
Jeg har et problem med javascripts i en .ascx (user control) fil: function AddSmiley(code) { var smiley = document.all._ctl19:indlaegsvar.value; alert(smiley); } I ASP.Net siden har jeg følgende (i vis kilde): <textarea name="_ctl19:indlaegsvar" id="_ctl19_indlaegsvar" class="field" style="width:100%;height:300px"></textarea> Det er som om at javascript ikke kan lide ":" - hvad kan jeg gøre ved det - er der en bedre måde at få user controls til at spille med javascript og identifikation af dens form felter?
Annonceindlæg fra Deloitte
Jeg mener at JavaScript går efter ID, ikke name... - Simon
Men ID har også den der _ctl19:indlaegsvar - så det gør ikke noget forskel eller hvad?
nej ID har en underscore ifølge det copy-paste du har skrevet.
Jeg har prøvet denne her: function AddSmiley(code) { var smiley = document.all["_ctl19_indlaegsvar"].value; alert(smiley); } <textarea name="_ctl19:indlaegsvar" id="_ctl19_indlaegsvar" class="field" style="width:100%;height:300px"></textarea> <A HREF="java script:AddSmiley('[:-)]')"> <IMG SRC="/images/smileys/smiley1.gif" ALT="Smil" BORDER="0"><br> Smil </A> Men der kommer ikke en prut ud af den alert :-( Det er sikkert noget med at document.all.... er forkert opbygget.
Her her virker nu fint for mig (stort set copy-paste): <html> <body> <script> function AddSmiley(code) { var smiley = document.all["_ctl19_indlaegsvar"].value; alert(smiley); } </script> <textarea name="_ctl19:indlaegsvar" id="_ctl19_indlaegsvar" class="field" style="width:100%;height:300px"></textarea> <A HREF="java script:AddSmiley('[:-)]')"> <IMG SRC="/images/smileys/smiley1.gif" ALT="Smil" BORDER="0"><br> Smil </A> </body> </html>
Ja, det virker nu. Jeg giver point til simon.useless og odegaard så svar venligst ;-)
Jeg tror nu ikke Simon er helt tilfreds med den stavefejl :-) Giv pointene til Simon. Det var nu ham der først havde fat i den lange ende med ID.
Grrr og grynt, det er i orden clauspul... ;-) (hvis jeg bare får nogle point... hehe) - Simon
-- og så lige navne-konventionerne i java script: Man må _kun_ bruge bogstaver, tal og _ -- og selvfølgelig står den af på æøå -- desuden må tal ikke være første tegn i en javascript-variabel (det gælder ikke html og css !-)
02. juni 2003 - 13:55
#10
-> roenving: Tak for bemærkningen ;-)
02. juni 2003 - 14:01
#11
;O)
02. juni 2003 - 14:04
#12
Der er bare en ulempe ved javascript og usercontrols. Når man tilføjer et nyt felt i user control, så hedder det måske ikke _ctl19_indlaegsvar, men derimod _ctl20_indlaegsvar. Javascripten er altså følsom overfor ændringer i usercontrollen....
02. juni 2003 - 18:12
#13
du kan godt spørge på navnet på den genererede kontrol. Jeg mener den hedder myTextArea.TagName
03. juni 2003 - 13:37
#14
Hm, det har jeg prøvet - men der er ikke nogen properties, som har TagName? Bruger C#.
03. juni 2003 - 15:15
#15
myTextArea.ClientID...
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.