Avatar billede mbsnet Nybegynder
21. juli 2008 - 02:02 Der er 17 kommentarer og
1 løsning

Find længde på valgt tekst mm, (i input type=text )

Hej. Har prøvet at gøre dette, men ingen af dem virker:

<input type="text" value="1234567890" onclick="if (this.selLength<1) {this.select();}"><br>
<input type="text" value="1234567890" onclick="if (this.selLength==0) {this.select();}"><br>
<input type="text" value="1234567890" onclick="if (this.selectionLength==0) {this.select();}"><br>

Den skal markere alt hvis der ikke er markeret noget i forvejen, men selLength eksisterer ikke umiddelbart ?

Ved godt man kan bruge onfocus/onblur, men synes dette ville være smartere. Gør altid det samme i Delphi, og det virker fint.

mvh mbs
Avatar billede showsource Seniormester
21. juli 2008 - 06:33 #1
Hvorfor ikke bare
onfocus="select();"
Avatar billede w13 Novice
21. juli 2008 - 09:58 #2
Funktionen selLength findes ikke. Det er en variable, som du muligvis har fra en tutorial, hvor den var blevet sat til den selectede længde.
Avatar billede olebole Juniormester
21. juli 2008 - 13:50 #3
<ole>

- og det gør property'en selLength såmænd heller ikke  ;o)

I JavaScript/HTML-DOM hedder det:
    if (this.value.length<1)

/mvh
</bole>
Avatar billede w13 Novice
21. juli 2008 - 14:01 #4
Jaja. :)
Avatar billede w13 Novice
21. juli 2008 - 14:01 #5
Men Ole, det er jo ikke den valgte tekst.
Avatar billede mbsnet Nybegynder
21. juli 2008 - 15:47 #6
Hej. Årsagen er, at jeg kan lide, at der aldrig er valgt ingenting. Jeg har været vant til denne funktion i mine programmer, og vil gerne opnå det samme i forbindelse med web.

"value.length": længden på værdien i objektet, så dette hjælper ikke.
Kan godt se på msdn at selLength ikke eksisterer. æv.

Synes det er en skam hvis man ikke engang kan gøre det :)
Kan det slet ikke lade sig gøre når man bruger et simpelt input felt?
Avatar billede mbsnet Nybegynder
21. juli 2008 - 16:00 #7
ps. bruger allerede onfocus="this.select();" i forvejen, men anser ovenstående som en "opdatring"
Avatar billede w13 Novice
21. juli 2008 - 16:23 #8
Jo det kan sagtens lade sig gøre, jeg kan bare ikke huske hvordan. =)

Så alle dine felter er altid markerede?
Avatar billede mbsnet Nybegynder
21. juli 2008 - 16:38 #9
Ja- (hvis focused eller uden "hide selection") med andre ord kan man kun manuelt markere et udpluk, ellers vælges det hele "automatisk"
Avatar billede mbsnet Nybegynder
21. juli 2008 - 16:58 #10
Se evt en lille test, som gør det via et program (delphi):
http://www.mbsnet.dk/eksperten_dk/inputclick.rar
Avatar billede olebole Juniormester
22. juli 2008 - 00:53 #11
Aaahhhh ... den selekterede tekst! Dumme mig!  :oP

Det er ikke helt simpelt, da browserne har ret forskellige modeller for selections og ranges. Jeg kan ikke huske syntakserne i hovedet og er på vej i seng - så det bliver i hvertfald ikke idag  =)
Avatar billede mbsnet Nybegynder
22. juli 2008 - 06:21 #12
LOL, Er det bare mig eller er det ofte de mest simple ting, som er de sværeste
Avatar billede mbsnet Nybegynder
23. juli 2008 - 14:58 #13
giver gerne flere points for en løsning
Avatar billede olebole Juniormester
23. juli 2008 - 16:04 #14
"LOL, Er det bare mig eller er det ofte de mest simple ting, som er de sværeste" >> Nej, det er skam ikke bare dig.

Når man ser en båd sejle - eller en flyvemaskine lette - kan det jo for den uindviede godt virke sært, at det skulle være så svært at få Volvoen til at gøre det samme. Tro mig: Sådan er det dog!  ;o)

Antallet af points ændrer ikke ved løsningen. Her er et par links, du får brug for:
    http://developer.mozilla.org/en/docs/DOM:range
    http://developer.mozilla.org/en/docs/DOM:Selection

- og:
    http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx
    http://msdn.microsoft.com/en-us/library/ms535872(VS.85).aspx
Avatar billede mbsnet Nybegynder
23. juli 2008 - 17:47 #15
Ok. Havde forestillet mig at man kunne håndtere det nogenlunde ens i Windows, uanset hvad man brugte, men åbenbart ikke inklusiv alt.

Jeg fortsætter bare med: onfocus="this.select();"
og må afsætte tid til at lave det senere.

mvh
Morten
Avatar billede mbsnet Nybegynder
23. juli 2008 - 17:50 #16
Tillader mig at lukke den igen.
Avatar billede olebole Juniormester
23. juli 2008 - 18:30 #17
Det har ikke noget med Windows at gøre. Det afgør den pågældende klient, der skal afvikle koden - mere eller mindre udfra evt. standarder, som måtte være gældende på området
Avatar billede mbsnet Nybegynder
23. juli 2008 - 20:30 #18
Men man kunne godt have ønsket sig at "selLength" / "selectionLength" eller lign.- havde været til stede i et input, som det er tilfældet med eksempelvis textarea. Er lidt overrasket over det ikke sådan. Regnede med at internet explorer var baseret på windows api, men det må være mozilla standard så ?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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