_siggen_ Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 Veldig nybegynner på javascript. Ønsker å legge til ein tekstreng i eit tekstfelt der som skriftmarkøren står. Altså trykke ein knapp og få lagt til ein liten tekststreng i eit tekstfelt. Noken som kan hjelpe meg med dette? Lenke til kommentar
cbastus Skrevet 22. januar 2009 Del Skrevet 22. januar 2009 (endret) Du vil at om du trykker a i tekstboksen skal feks. setningen "alle dyr er like, men noen er mer like enn andre" dukke opp, trykker du b skal "Bruce Willis er best i Die Hard 1" dykke opp? Kode som gjør det over: <script> function checkFeild(obj){ switch(obj.value){ case 'a': obj.value = 'Alle dyr er like, men noen er mer like enn andre'; break; case 'b': obj.value = 'Bruce Willis er best i Die Hard 1!'; break; default: break; } } </script> <textarea onkeyup="checkFeild(this)"></textarea> Endret 22. januar 2009 av cbastus Lenke til kommentar
_siggen_ Skrevet 24. januar 2009 Forfatter Del Skrevet 24. januar 2009 Du vil at om du trykker a i tekstboksen skal feks. setningen "alle dyr er like, men noen er mer like enn andre" dukke opp, trykker du b skal "Bruce Willis er best i Die Hard 1" dykke opp? Kode som gjør det over: <script> function checkFeild(obj){ switch(obj.value){ case 'a': obj.value = 'Alle dyr er like, men noen er mer like enn andre'; break; case 'b': obj.value = 'Bruce Willis er best i Die Hard 1!'; break; default: break; } } </script> <textarea onkeyup="checkFeild(this)"></textarea> Ja takk. Tenkte noke i den retning. Men eg ønsker å sette inn teksten uten å fjerne den teksten som står i textaerea fra før. Ønsker at teksten skal bli satt inn der den blinkande markøren er. Lenke til kommentar
Twinflower Skrevet 25. januar 2009 Del Skrevet 25. januar 2009 Nada granada problemos, kompis function addText(text) { textbox = document.getElementById("text"); textbox.value += text; } I praksis: <textarea id="text"></textarea> <a href="java script:addText('tekst som skal legges til'); title="legg til tekst">Legg til tekst</a> Funksjonen kan du legge i en functions.js-fil som du automatisk henter i headeren din slik: <html> <head> <title>Tittel</title> <script src="/functions.js" type="text/javascript"></script> </head> Om det er mer du lurer på, skyt i vei Lenke til kommentar
_siggen_ Skrevet 2. februar 2009 Forfatter Del Skrevet 2. februar 2009 Nada granada problemos, kompis function addText(text) { textbox = document.getElementById("text"); textbox.value += text; } I praksis: <textarea id="text"></textarea> <a href="java script:addText('tekst som skal legges til'); title="legg til tekst">Legg til tekst</a> Funksjonen kan du legge i en functions.js-fil som du automatisk henter i headeren din slik: <html> <head> <title>Tittel</title> <script src="/functions.js" type="text/javascript"></script> </head> Om det er mer du lurer på, skyt i vei Ja då var eg eit skritt nermere. Men fungerer fortsatt ikkje heilt sånn som eg ønsker. Trenger å sette inn tekst på ein bestemt plass i tekstboksen. Viss det står tekst der fra før og eg setter markøren mellom to ord så vil eg teksten skal komme der markøren står. Slik som på forumet her. Viss du ønsker feit skrift så trukker du "b" knappen. Då setter den inn skrift der teksmarkøren står. Skjønner? Lenke til kommentar
Twinflower Skrevet 2. februar 2009 Del Skrevet 2. februar 2009 Ja, jeg skjønner. Men der kan jeg ikke hjelpe deg, for det har jeg aldri gjort før Du må finne "koden" for textbox.value.highlighted eller noe, og endre den stringen til feks [fet]string[/fet] Lenke til kommentar
Epower Skrevet 2. februar 2009 Del Skrevet 2. februar 2009 setSelectionRange createRange Lenke til kommentar
_siggen_ Skrevet 3. februar 2009 Forfatter Del Skrevet 3. februar 2009 setSelectionRangecreateRange Takker. Der var løysinga på problemet. Her er koden som blei lysinga. <script type="text/javascript"> function insertAtCaret(obj, text) { if(document.selection) { obj.focus(); var orig = obj.value.replace(/\r\n/g, "\n"); var range = document.selection.createRange(); if(range.parentElement() != obj) { return false; } range.text = text; var actual = tmp = obj.value.replace(/\r\n/g, "\n"); for(var diff = 0; diff < orig.length; diff++) { if(orig.charAt(diff) != actual.charAt(diff)) break; } for(var index = 0, start = 0; tmp.match(text) && (tmp = tmp.replace(text, "")) && index <= diff; index = start + text.length ) { start = actual.indexOf(text, index); } } else if(obj.selectionStart) { var start = obj.selectionStart; var end = obj.selectionEnd; obj.value = obj.value.substr(0, start) + text + obj.value.substr(end, obj.value.length); } if(start != null) { setCaretTo(obj, start + text.length); } else { obj.value += text; } } function setCaretTo(obj, pos) { if(obj.createTextRange) { var range = obj.createTextRange(); range.move('character', pos); range.select(); } else if(obj.selectionStart) { obj.focus(); obj.setSelectionRange(pos, pos); } } </script> Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå