10. juni 2004 - 11:59Der er
36 kommentarer og 2 løsninger
Textarea: identificere netop indtastede tegn?
Hej eksperter
...endnu et spørgsmål fra en der er ved at lære lidt javascript...
I en tekst indtastet i et textarea: Kan jeg identificere og manipulere med et netop indtastet tegn? Jeg kan jo ikke gå ud fra, at det nødvendigvis er det sidste tegn i tekstblokken, idet brugeren kan gå tilbage og rette inde i tekstblokken...Så hvordan så?
hmmmm...hvordan skal det læses? Hvad forstås ved "if(!e)e=event;" - eller rettere hvad er det der betinges i if-sætningen? Hvad dækker keyCode over? Får jeg adgang til det netop indtastede tegn med "alert(String.fromCharCode(k));"?
...jeg vil gerne have mulighed for at nægte brugeren at indtaste visse tegn i det aktuelle textarea - altså noget med simpelthen at ignorere de "forbudte" tegn. Tænkte at jeg kunne gøre det med noget "return false;" hvis blot jeg kan identificere hvad han netop har indtastet. Men måske er der en nemmere måde?!?
...okay - skal lige vænne mig til de der sammentrukne sætninger ;) - ser lidt uoverskueligt ud, når det er så kompakt.
I forbindelse med ovenstående - hvordan benævner man et linjeskift i javascript (er et af de "ugyldige tegn")? Og hvordan benævner man nummer 2, 3, 4 ... mellemrum (1 mellemrum er ok, men flere mellemrum skal ignoreres)?
...ja mm12010 har givet mig (i et andet spørgsmål) en ganske aldeles fremragende måde at pille linjeskift mv. ud på. Det er lidt svært at forklare, men i den forbindelse jeg skal bruge funktionen, vil det fungere bedst (efter at have testet og afprøvet), hvis linjeskift og mellemrumstegn (udover det første) blot bliver ignoreret. Mon ikke det kan lade sig gøre?
Øvbøv...forstår ikke en meter - og g'morgen i øvrigt |-) Kan I ikke - bare ganske kort - forklare de der tegn: Hvad er/betyder /\s /gi $/ og (/[abcd]/gi,'') osv. Er skråstregerne til at adskille med eller er det en del af tegnet? Har gennemsøgt nettet for en oversigt over javascript-tegn, hvor jeres mystiske tegn indgår - uden held. Så spørger lidt dumt.... <:-)
Eftersom funktionen kaldes hver gang textarea ændres (onChange mv.), har jeg vist ikke brug for at gennemløbe strengen. Så det virker næsten perfekt. Dog... :(
Når jeg indtaster et linjeskift bliver det fjernet - det er som det skal være. Men desværre fjerner funktionen samtidig alle tekstens mellemrum... Hvad kan jeg erstatte "/\s/gi" med for at dette ikke sker (så det altså kun er linjeskiftet der bliver strøget)?
...ja det virker jo indlysende - og jeg har også prøvet med (/\n/gi,""): Og får jeg ganske rigtigt ikke lov til at komme videre (return false) i sætningen, men desværre bliver linjeskiftet ved med at være der, hvor jeg gerne vil have at cursoren hopper tilbage på linjen ovenfor.
...hmmm, ja okay - det er vel ok, som det er. Tusind tak til jer alle. Men se nu er jeg jo lidt på den, I er jo flere der har hjulpet mig frem til en fornuftig løsning. Så hvem bør jeg give points? mm12010 var først ude, men grunken og roenving har også deltaget med vigtige oplysninger. Hvad gør jeg i dette tilfælde? Er det retfærdigt, hvis I tre deler pointene? Eller hvad?
...jamen ville det så genere nogen, eller vil nogen føle sig forfordelt, hvis jeg bad roenving, mm12010 samt grunken om at give mig et svar? :) venligst, Marianne
Tusind tak for hjælpen til jer alle... Jeg dukker med stor sandsynlighed op snart igen, da jeg p.t. har rodet mig ind i nogle opgaver, som involverer en del javascript. Så på gensyn... <:o)) Allervenligst, marianne
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.