Avatar billede aggie Nybegynder
10. januar 2001 - 14:15 Der er 4 kommentarer og
1 løsning

simulere tastetryk og onKeyPress?

Jeg er ved at bygge en html editor til en teknofobisk kunde, og skal bruge en metode til at lave et tryk på \'enter\' i en TEXTAREA om til et line break, dvs fange onKeyPress,

function nl2br() {
    if (window.event.keyCode = 13) { // CR
        with (window.event) {
            keyCode = 60; // <
            keyCode = 66; // B
                        keyCode = 82; // R
            keyCode = 62; // >
            keyCode = 13; // CR
        }
        }
}
virker ikke, men kan måske illustrere hvad jeg mener?
Avatar billede jakoba Nybegynder
10. januar 2001 - 14:25 #1
prøv med den predefinerede funktion escape(). dvs:

escape( dit_tekstfelt.value )

så bibeholdes de \"underlige\" tegn såsom line-feed og formfeed %07 og %08 (vildt gæt. check selv med en ascii tabel).
Ihvertfald gemmes de underlig tegn som &nn koder og du kan så manipulere dem i den form
Avatar billede jakoba Nybegynder
10. januar 2001 - 14:27 #2
Undskyld, du sagde tekstfelt. ovenstående er til textarea.

brug onEntry eventen i feltets <input tag. den aktiveres når der trykkes retur eller enter.
Avatar billede aggie Nybegynder
12. januar 2001 - 09:11 #3
hmm, når jeg lige ser vhad jeg har skrevet og dit svar, er det måske ikke helt klart, hvad jeg mener :)

jeg vil have, at mens man skriver i et TEXTAREA, hvis man trykker på return (altså bare skifter linje, ikke når man submitter eller noget), så skal det tastetryk fanges, og der skal indsættes et \'<br>\' (et break tag) i teksten...

håber det gør mig lidt mere forståelig :)
Avatar billede jakoba Nybegynder
13. januar 2001 - 16:53 #4
Ja. men hvorfor skal return fanges i det øjeblik han skriver. Er det ikke bedre at han ser det som han skriver det. og det først er i efterbehandlingen hans retur og enter bliver husket.

jeg prøvede i et tekstarea at skrive:

------------ begin
skriv et par linier her
og en til og

endnu een
----------- end

tekstLinier = escape(det_textarea.value) gav så

\"skriv%20et%20par%20linier%20her%0D%0Aog%20en%20til%20og%0D%0A%0D%0Aendnu%20een\"

hvis du substituerer \"<br>\" for de steder der står \"%0D%0A\" får du de linieskift du ønsker i htmlkode

\"skriv%20et%20par%20linier%20her<br>og%20en%20til%20og<br><br>endnu%20een\"


husk at unescape før du skriver strengen igen. eg:
document.write( unescape(textLinier) )

mvh JakobA
Avatar billede aggie Nybegynder
14. januar 2001 - 18:42 #5
du har ret, der er ingen grund til at forvirre :))
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