Avatar billede budda Nybegynder
26. januar 2003 - 12:56 Der er 9 kommentarer og
1 løsning

marker tekst i input og lav det om

Jeg har sådan et lille problem.
Jeg har en input i en form man kan skrive i.
Så hvis man eks skriver:
Hej med DIG peder
Og så man markere DIG og trykker på CTRL+k skal den lave DIG om til --> DIG <--
Jeg har fundet ud af en del der til.
CTRL+k er det samme som window.event.keyCode = 11

Men jeg kan ikke finde ud af at lave en funktion der tager det markerede og laver det om og indsætter den nye tekst ind..

Nogen der kan hjælpe??
Avatar billede olebole Juniormester
26. januar 2003 - 14:09 #1
<ole>

I IE kan du skrive:

<script type="text/JavaScript">
function swap() {
    var range, str, tmpValueArr, f = document.myF;
    range = document.selection.createRange();
    str = range.text;
    tmpValueArr = f.test.value.split(str);
    f.test.value = "--> "+str+" <--";
}
</script>

<form name="myF">
<input type="text" id="test">
<button onclick="swap();">TEST</button>
</form>

/mvh
</bole>
Avatar billede Slettet bruger
26. januar 2003 - 14:45 #2
Hvad er idéen med at lave det tmpValueArr?
Her er min udlægning (virker med ctrl+k):

<html>
<head>
<script>
function inds() {
if (event.keyCode == 11 && event.ctrlKey) {
sel = document.selection.createRange();
if (sel.text != "")
sel.text = "--> " + sel.text + " <--";
}
}
</script>
</head>
<body>
<form>
<textarea cols="40" rows="10" onKeyPress="inds();"></textarea>
</form>
</body>
</html>
Avatar billede olebole Juniormester
26. januar 2003 - 14:52 #3
Selvfølgelig .... det var fordi, jeg først ville klaske den oprindelige tekst udenom igen. Så opdagede jeg, det nok ikke var ønsket og fik ikke slettet den linie  ;o)
/mvh
Avatar billede Slettet bruger
26. januar 2003 - 14:56 #4
ok! :)
Avatar billede budda Nybegynder
26. januar 2003 - 17:31 #5
Jeg har et lille problem hvad hvis jeg vil lave flere af dem?
eks CTRL-Z som er 26 ??
DVS i samme funktion ??

så den eks laver DIG om til <->DIG<->
Avatar billede olebole Juniormester
26. januar 2003 - 18:31 #6
( (event.keyCode==11 && event.ctrlKey) || (event.keyCode==90 && event.ctrlKey) ) {
Avatar billede budda Nybegynder
26. januar 2003 - 18:40 #7
Nej fordi den skal ikke skrive det samme..
Har prøvet med :
<html>
<head>
<script>
function inds() {
if (event.keyCode == 11 && event.ctrlKey) {
sel = document.selection.createRange();
if (sel.text != "")
sel.text = "--> " + sel.text + " <--";
}
elseif (event.keyCode == 26 && event.ctrlKey) {
sel = document.selection.createRange();
if (sel.text != "")
sel.text = "<-> " + sel.text + " <->";
}
}
</script>
</head>
<body>
<form>
<textarea cols="40" rows="10" onKeyPress="inds();"></textarea>
</form>
</body>
</html>

Meen den fucker
Avatar billede olebole Juniormester
26. januar 2003 - 18:53 #8
1. Hvorfor tænker du ikke over, hvad du vil have og skriver hele dit spørgsmål til at begynde med?
2. Hvorfor bruger du ikke den keyCode, du får opgivet?
3. hvorfor skriver du ikke, hvad der sker? 'Meen den fucker' siger intet om, hvad der sker.
/mvh
Avatar billede olebole Juniormester
26. januar 2003 - 18:54 #9
Brug den linie, jeg skrev til dig (26/01-2003 18:31:20)
Avatar billede olebole Juniormester
26. januar 2003 - 19:09 #10
Du hhar nu også lavet andet ged. Prøv at skrive din kode pænere (med indrykning), så kan du bedre overskue den ... heriblandt {}  ;o)
Prøv denne her, da Ctrl+Z er lidt speciel:

<script type="text/JavaScript">
function inds() {
    if (event.keyCode == 11 && event.ctrlKey) {
        sel = document.selection.createRange();
        if (sel.text != "") {
            sel.text = "--> " + sel.text + " <--";
        }
        event.keyCode = 0;
        event.cancelBubble = true;
        return false;
    }
    else if (event.keyCode == 90 && event.ctrlKey) {
        sel = document.selection.createRange();
        if (sel.text != "") {
            sel.text = "<-> " + sel.text + " <->";
        }
        event.keyCode = 0;
        event.cancelBubble = true;
        return false;
    }
}
</script>

Og læg så event-en på onkeydown i stedet for onkeypress
/mvh
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel