11. marts 2005 - 10:32Der er
10 kommentarer og 1 løsning
Længden af tekst i px
Jeg har et menusystem som bliver genereret fra en database. Men jeg kunne godt tænke mig en function der på en eller anden måde kan beregne den præcise længden. Jeg har prøvet med len(rs.text) men det bliver ikke helt godt.
Jeg ved også godt at det ikke er helt simpelt, men hvad ved jo aldrig hvad der kan lade sig gøre.
Kanon! Hvor forspørger jeg værdien i ASP. Min strin ser sådan ud: Response.Write("this.item_width"&main_menuen + 1&" = 65;")Hvor 65 skal være værdien fra JAVA Scriptet
Well - det er ikke umiddelbart noget man gør, men der er forskellige måder at få javascript-værdier over i asp. Det kunne fx være igennem form-data eller i en querystring, men hvis du bare har brug for at skrive værdien ud (med response.write som du viser herover) kan følgende så bruges?
OK, det virker, den trækker værdierne ud, men <SPAN> target laver uorden i mit script, skal det placeres et specielt eller er der andre muligheder så det ikke kommer med i koden?
Hmm - du er nødt til at have noget der wrapper den tekst du vil måle bredden af.. Hvordan laver det uorden i din kode? Måske kan det løses ved at style span-tagget, eller evt sætte et div-tag omkring og style det så det bliver inline..
evt sæt det id der bliver målt på det element der i forvejen wrapper din tekst?
Hej igen, Kan du ikke prøve at give et eksempel på det? Problemmet er at den skriver <SPAN> ud i javascript koden og det for den til at fejle. Håber du kan hjælpe
Jeg er jeg tilbage. Er der en anden måde hvorpå jeg inkluderer Javascript værdien i ASP f.eks. <%menuwidth= "+document.getElementById('menutext').offsetWidth"%>
eller lignende? Jeg er klar over at ovenstående ikke kan lade sig gøre ;)
Jeg kan sagtens få udskrevet værdien, men jeg vil gerne smide den i en database.
Du skal tænke på at Javascript bliver afviklet på klientsiden efter siden er genereret og blevet sendt afsted fra serveren. Asp afvikles på serveren inden siden sendes afsted.
Du kan altså ikke indsætte en javascript variable i din asp-kode da denne først blive beregnet ude på klienten.
Ovenstående løsning gør så det at javascriptet indlæser den pågældende side igen med en querystring som kan aflæses med asp. Vi er altså nødt til på en eller anden måde at kalde serveren en gang til efter browseren har beregnet værdien vha javascript.
Men du kan jo sagtens smide værdien ned i en database ved at bruge ovenstående eksempel.. request.querystring("menuwidth")
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.