Avatar billede clausjul Nybegynder
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?
Avatar billede simon.ulsnes Nybegynder
01. juni 2003 - 15:20 #1
Jeg mener at JavaScript går efter ID, ikke name...

- Simon
Avatar billede clausjul Nybegynder
01. juni 2003 - 16:16 #2
Men ID har også den der _ctl19:indlaegsvar - så det gør ikke noget forskel eller hvad?
Avatar billede odegaard Nybegynder
01. juni 2003 - 16:18 #3
nej ID har en underscore ifølge det copy-paste du har skrevet.
Avatar billede clausjul Nybegynder
01. juni 2003 - 16:37 #4
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.
Avatar billede odegaard Nybegynder
01. juni 2003 - 17:19 #5
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>
Avatar billede clausjul Nybegynder
01. juni 2003 - 17:28 #6
Ja, det virker nu. Jeg giver point til simon.useless og odegaard så svar venligst ;-)
Avatar billede odegaard Nybegynder
01. juni 2003 - 17:37 #7
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.
Avatar billede simon.ulsnes Nybegynder
01. juni 2003 - 21:58 #8
Grrr og grynt, det er i orden clauspul... ;-)
(hvis jeg bare får nogle point... hehe)

- Simon
Avatar billede roenving Novice
02. juni 2003 - 13:54 #9
-- 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 !-)
Avatar billede clausjul Nybegynder
02. juni 2003 - 13:55 #10
-> roenving: Tak for bemærkningen ;-)
Avatar billede roenving Novice
02. juni 2003 - 14:01 #11
;O)
Avatar billede clausjul Nybegynder
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....
Avatar billede odegaard Nybegynder
02. juni 2003 - 18:12 #13
du kan godt spørge på navnet på den genererede kontrol.
Jeg mener den hedder myTextArea.TagName
Avatar billede clausjul Nybegynder
03. juni 2003 - 13:37 #14
Hm, det har jeg prøvet - men der er ikke nogen properties, som har TagName? Bruger C#.
Avatar billede simon.ulsnes Nybegynder
03. juni 2003 - 15:15 #15
myTextArea.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