Avatar billede tobiassen Nybegynder
10. januar 2008 - 11:28 Der er 67 kommentarer og
1 løsning

online texteditor

Jeg har det her script:

function insertTag(frmElm,startTag,endTag) {
      if (typeof frmElm.selectionStart == "number") {
            selectedtext = startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
            frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.selectionEnd);
      }
      else if (document.selection) {
              frmElm.focus();
              r = document.selection.createRange();
              r.text = startTag+r.text+endTag;}
      else frmElm.value += startTag+endTag;
  }

Hvor jeg så med det her link kan indsætte f.eks. rundt om tekst i et textarea:

<a href="#" onclick="insertTag(document.formen.text,'','');">Fed</a>

Nu vil jeg så godt have den til at blive f.eks. fed i textareaet med det samme når jeg trykker, kan det lade sig gøre, og hvordan?

ps. er ikke interesseret i at implementere en wysiwyg editor, tinyMCE, FCKeditor eller andre former for online editors.
Avatar billede w13 Novice
10. januar 2008 - 13:23 #1
Et tekstarea kan ikke vise tekst, der varierer i formatering. Det betyder, at al din tekst enten er fed eller ej, ligesom du heller ikke kan variere skrifttypen eller indsætte billeder.

For at opnå dette, må du vise det i et div-element (som du kan placere i stedet for og skjule textarea'et) eller et IFrame. Et Iframe kan faktisk klare hele redigeringen selv, hvis du sætter designMode="on" med javascript på vinduet.
Avatar billede roenving Novice
10. januar 2008 - 13:24 #2
Nej, det kan ikke lade sig gøre uden at opbygge en egentlig texteditor, og så kan du ligesågodt benytte en præfabrikeret, f.eks. en af de nævnte !-)
Avatar billede tobiassen Nybegynder
10. januar 2008 - 14:23 #3
okay, men hvordan skulle den iframe så se ud ?
Avatar billede w13 Novice
10. januar 2008 - 14:59 #4
<iframe id="wysiwyg" style="width:300px;height:200px;border:1px solid #000"></iframe>

:)

Og så skal du i hoveddokumentet sætte designMode på iframen med:

document.getElementById("wysiwyg").contentWindow.document.designMode="on";

Så kan der skrives i iframen. Ved submit skal du så bare overføre alt fra iframen til dit skjulte form-felt, så det kan postes til næste side:

document.getElementById("skjultformfelt").value=document.getElementById("wysiwyg").contentWindow.document.getElementsByTagName("body")[0].innerHTML;

Eller noget i den stil. =)
Avatar billede w13 Novice
10. januar 2008 - 15:00 #5
Bemærk, at når du skal arbejde med noget inde i iframen, så skal du altså bruge:

document.getElementById("wysiwyg").contentWindow.document

og ikke bare:

document
Avatar billede tobiassen Nybegynder
26. januar 2008 - 16:56 #6
jaa okay, men ka ik helt få det til at virke,

er der nogen der har en mere færdig løsning til mig, men det skal stadig være en som der er "selvkodet"
Avatar billede w13 Novice
26. januar 2008 - 17:03 #7
Hvad virker ikke? Jeg har selv brugt præcis den løsning, jeg beskev, og det virker fint. Ellers må du poste din kode her, så vi kan prøve at rette det.
Avatar billede tobiassen Nybegynder
26. januar 2008 - 19:55 #8
Min kode ser såldes ud og javescripten kan ses i den først jeg oprettede:



<?php
if(isset($_POST['send']))
{

if($_POST['send'] == "ok") {

$text = $_POST['text'];

include("../dbconnect.php");

    $insert = mysql_query("INSERT INTO allround (text) VALUES ('$text')") or die(mysql_error());

    echo "Oplysningen er oprettet!<br><br>";

}
}
if(isset($fejl))
{echo $fejl;
}
?>

<form enctype="multipart/form-data" method="post" name='formen'>
<input type="hidden" name="send" value="ok">


<tr>
<td>&nbsp;</td>
<td colspan='3'>

<a href='#' onclick="insertTag(document.formen.text,'','');"><img src='../billeder/texteditor/bold.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'','');"><img src='../billeder/texteditor/italic.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'','');"><img src='../billeder/texteditor/under.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'[s]','[/s]');"><img src='../billeder/texteditor/strikethrough.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'
','
');"><img src='../billeder/texteditor/center.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'[ul][li]','[/li][/ul]');"><img src='../billeder/texteditor/bullist.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'[li]','[/li]');"><img src='../billeder/texteditor/bul.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'[ol][li]','[/li][/ol]');"><img src='../billeder/texteditor/numlist.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'[li]','[/li]');"><img src='../billeder/texteditor/num.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'[sub]','[/sub]');"><img src='../billeder/texteditor/subscript.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'[sup]','[/sup]');"><img src='../billeder/texteditor/superscript.gif'></a>

<a href='#' onclick="insertTag(document.formen.text,'[hr]','[/hr]');"><img src='../billeder/texteditor/inserthorizontalrule.gif'></a>


</td>
</tr>

 
  <tr>
<td><b>Teskt:</b></td>
<td colspan='2'>
<textarea name='text' style='width:600px;' rows='16' onfocus='fokus = true;' onblur='fokus = false;' onclick='storeTextRange()' onkeyup='storeTextRange();'></textarea>
</td>
  </tr>

  <tr valign="top">
    <td colspan="3">
<br /><br />
<center><input type="submit" value="Opret oplysning"></center>
    </td>
  </tr>

</form>
Avatar billede w13 Novice
26. januar 2008 - 21:08 #9
Jeg ville gerne se, hvordan du havde forsøgt min løsning.
Avatar billede tobiassen Nybegynder
26. januar 2008 - 22:56 #10
Har slettet det igen, for kunne ik få det til at virke,

jeg vil bare gerne vide hvordan man gør ?
Avatar billede w13 Novice
26. januar 2008 - 23:10 #11
Mange gør, som jeg skrev 10/01-2008 14:59:59 :)
Avatar billede tobiassen Nybegynder
27. januar 2008 - 00:59 #12
jaa, men eftersom jeg ik kunne få det til at virke hjælper det nok ik at henvise til det ;D
Avatar billede tobiassen Nybegynder
29. januar 2008 - 13:05 #13
men ville meget gerne ha hvis du kunne vise mig det lidt nærmere ? :)
Avatar billede w13 Novice
29. januar 2008 - 15:04 #14
Følgende kode illustrerer det meget godt:
-----------------------------------------
<html>
<head>
<script type="text/javascript">
function LoadWysiwyg(){
    var editor=document.getElementById("wysiwyg");
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').innerHTML;
    editor.contentWindow.document.designMode="on"
}
</script>
</head>
<body>

<textarea id="text" name="text" style="display:none">Test</textarea>
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>

</body>
</html>
Avatar billede w13 Novice
29. januar 2008 - 15:05 #15
Her bruges et textarea (så vi kan arbejde med det som et normalt form-element), men der benyttes et IFrame til selve redigeringen.

Data skal selvfølgelig overføres tilbage til textareaet ved submit.
Avatar billede tobiassen Nybegynder
29. januar 2008 - 16:07 #16
Nu har jeg sat det op såldes men kan ikke få det til at virke, der skaer slet ingen ting inden i feltet...

<html>
<head>
<script type="text/javascript">
function insertTag(frmElm,startTag,endTag) {
      if (typeof frmElm.selectionStart == "number") {
            selectedtext = startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
            frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.selectionEnd);
      }
      else if (document.selection) {
              frmElm.focus();
              r = document.selection.createRange();
              r.text = startTag+r.text+endTag;}
      else frmElm.value += startTag+endTag;
  }


function LoadWysiwyg(){
    var editor=document.getElementById("wysiwyg");
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').innerHTML;
    editor.contentWindow.document.designMode="on"
}
</script>
</head>
<body>
<a href='#' onclick="insertTag(document.formen.text,'','');">FED</a>
<textarea id="text" name="text" style="display:none" onfocus='fokus = true;' onblur='fokus = false;' onclick='storeTextRange()' onkeyup='storeTextRange();'>Test</textarea>
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>

</body>
</html>
Avatar billede tobiassen Nybegynder
29. januar 2008 - 16:10 #17
har os prøvet sådan her, men virker heller ik:

<form enctype="multipart/form-data" method="post" name='formen'>
<a href='#' onclick="insertTag(document.formen.text,'','');">FED</a>
<textarea id="text" name="text" style="display:none" onfocus='fokus = true;' onblur='fokus = false;' onclick='storeTextRange()' onkeyup='storeTextRange();'>Test</textarea>
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>
</form>
Avatar billede w13 Novice
29. januar 2008 - 19:12 #18
Hvad hvis du retter:

function LoadWysiwyg(){
    var editor=document.getElementById("wysiwyg");
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').innerHTML;
    editor.contentWindow.document.designMode="on"
}

Til:

function LoadWysiwyg(){
    alert("test");
    var editor=document.getElementById("wysiwyg");
    alert(editor);
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').innerHTML;
    editor.contentWindow.document.designMode="on"
}

Alerter den så noget?
Avatar billede tobiassen Nybegynder
29. januar 2008 - 21:50 #19
ja det gør den, først alerter den "test" og bagefter [object HTMLIFrameElement]

se her:
http://easy-websolutions.dk/test.php
Avatar billede w13 Novice
29. januar 2008 - 22:38 #20
Ok. Og hvad så med:

function LoadWysiwyg(){
    var editor=document.getElementById("wysiwyg");
    alert(editor.contentWindow.document.body.innerHTML);
    alert(document.getElementById('text').innerHTML);
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').innerHTML;
    editor.contentWindow.document.designMode="on"
}
Avatar billede tobiassen Nybegynder
29. januar 2008 - 22:59 #21
først en tom alert, og så en hvor der står test
Avatar billede w13 Novice
30. januar 2008 - 08:04 #22
Dit link virker altså både i mit IE7 og FF 2. Teksten bliver fint indsat.
Avatar billede tobiassen Nybegynder
30. januar 2008 - 10:09 #23
nå jaja, men kan ik lave den fed ?
Avatar billede w13 Novice
30. januar 2008 - 10:47 #24
Nej, ikke med din kode. =)

Brug i stedet:

ExecCommand('Bold',false)

og så sammen med funktionen:

function ExecCommand(a,b,c){
    document.getElementById("wysiwyg").contentWindow.focus();
    document.getElementById("wysiwyg").contentWindow.document.execCommand(a,b,c);
}
Avatar billede tobiassen Nybegynder
30. januar 2008 - 10:58 #25
fedt nu virker det.

har du nogle flere tags end bold jeg kan putte i?

eller ved du hvor jeg kan finde en liste med de forskellige tags ?
Avatar billede w13 Novice
30. januar 2008 - 11:20 #26
Jepsen! :)
http://msdn2.microsoft.com/en-us/library/ms536419(VS.85).aspx

Du kan også bare søge på execcommand
Avatar billede w13 Novice
30. januar 2008 - 11:20 #27
Og et svar! =)
Avatar billede tobiassen Nybegynder
30. januar 2008 - 11:49 #28
Tak for hjælpen
Avatar billede w13 Novice
30. januar 2008 - 11:52 #29
Det var så lidt og tak for point!
Avatar billede tobiassen Nybegynder
30. januar 2008 - 12:41 #30
hov, har li et spørgsmål til, det er det der "test" som der står i forvejen der bliver sat ind i min database.. hvordan får jeg den til at sætte alt det jeg skriver ind i min database?
Avatar billede w13 Novice
30. januar 2008 - 12:48 #31
Ved submit skal der overføres data tilbage fra wysiwyg til text:

<form ... onsubmit="document.getElementById('text').innerHTML=editor.contentWindow.document.body.innerHTML">

...

</form>
Avatar billede w13 Novice
30. januar 2008 - 12:55 #32
Så skal:
    var editor=document.getElementById("wysiwyg");

stå uden for funktionen LoadWysiwyg(), ellers kan vi ikke bruger "editor" i onsubmit.
Avatar billede tobiassen Nybegynder
30. januar 2008 - 12:56 #33
hmm, det virker ik :/
Avatar billede tobiassen Nybegynder
30. januar 2008 - 13:08 #34
det ser sådan her ud:

<script type="text/javascript">

function ExecCommand(a,b,c){
    document.getElementById("wysiwyg").contentWindow.focus();
    document.getElementById("wysiwyg").contentWindow.document.execCommand(a,b,c);
}


function LoadWysiwyg(){
    var editor=document.getElementById("wysiwyg");
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').innerHTML;
    editor.contentWindow.document.designMode="on"
}
</script>

<form enctype="multipart/form-data" method="post" name='formen' onsubmit='document.getElementById('text').innerHTML=editor.contentWindow.document.body.innerHTML'>

<a href='#' onclick="ExecCommand('Bold',false);"><img src='../billeder/texteditor/bold.gif'></a>

<textarea id="text" name="text" style="display:none" onfocus='fokus = true;' onblur='fokus = false;'>Test</textarea>
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>

</form>
Avatar billede w13 Novice
30. januar 2008 - 13:08 #35
Det virker helt fint for mig, så du må ha' glemt et eller andet. Prøv lige at lægge det ud som test.php igen.
Avatar billede w13 Novice
30. januar 2008 - 13:08 #36
ser lige på det =)
Avatar billede tobiassen Nybegynder
30. januar 2008 - 13:10 #37
mange tak :)
Avatar billede w13 Novice
30. januar 2008 - 13:11 #38
Jep, du glemte lige at flytte:
var editor=document.getElementById("wysiwyg");
ud af funktionen. Gør således:

<script type="text/javascript">

function ExecCommand(a,b,c){
    document.getElementById("wysiwyg").contentWindow.focus();
    document.getElementById("wysiwyg").contentWindow.document.execCommand(a,b,c);
}


var editor=document.getElementById("wysiwyg");
function LoadWysiwyg(){
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').innerHTML;
    editor.contentWindow.document.designMode="on"
}
</script>

<form enctype="multipart/form-data" method="post" name='formen' onsubmit='document.getElementById('text').innerHTML=editor.contentWindow.document.body.innerHTML'>

<a href='#' onclick="ExecCommand('Bold',false);"><img src='../billeder/texteditor/bold.gif'></a>

<textarea id="text" name="text" style="display:none" onfocus='fokus = true;' onblur='fokus = false;'>Test</textarea>
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>

</form>

------------------------------------------------------
Når en variable var'es inde i en funktion, kan man ikke bruge den andre steder i dokumentet, og vi prøver jo at få fat på "editor" inde i onsubmit, så derfor må "var editor=...;" ikke stå inde i funktionen.
Avatar billede w13 Novice
30. januar 2008 - 13:12 #39
Hov, dette skal også lige rettes:

<form enctype="multipart/form-data" method="post" name='formen' onsubmit="document.getElementById('text').innerHTML=editor.contentWindow.document.body.innerHTML">

Ellers går der rod i det, fordi du bruger ' flere gange.
Avatar billede tobiassen Nybegynder
30. januar 2008 - 13:15 #40
men det virker stadig ik ? :(
Avatar billede w13 Novice
30. januar 2008 - 13:16 #41
Læg lige ud :)
Avatar billede tobiassen Nybegynder
30. januar 2008 - 13:18 #42
sorry, hva ska jeg ligge ud ? :) heh
Avatar billede w13 Novice
30. januar 2008 - 13:19 #43
Bare så jeg selv kan prøve at se det i aktion. Eller evt. smide en opdateret kode, ligesom du gjorde lige før. Men hellere et link.
Avatar billede w13 Novice
30. januar 2008 - 13:20 #44
Du kan også prøve med:

<form enctype="multipart/form-data" method="post" name='formen' onsubmit="document.getElementById('text').innerHTML=editor.contentWindow.document.body.innerHTML;return">

Men det burde ikke gøre nogen forskel.
Avatar billede tobiassen Nybegynder
30. januar 2008 - 13:26 #45
det ser sådan her ud:

<?php
include("../img_placering.php");
if(isset($_POST['send']))
{

if($_POST['send'] == "ok") {


$type = $_POST['type'];
$headline = $_POST['headline'];
$text = $_POST['text'];
$bredde = $_POST['bredde'];
$hoejde = $_POST['hoejde'];




include("../dbconnect.php");

    $insert = mysql_query("INSERT INTO allround (type, headline, text, img, bredde, hoejde) VALUES ('$type', '$headline', '$text', '$img', '$bredde', '$hoejde')") or die(mysql_error());

    echo "Oplysningen er oprettet!<br><br>";


}

?>


<form enctype="multipart/form-data" method="post" name='formen' onsubmit="document.getElementById('text').innerHTML=editor.contentWindow.document.body.innerHTML;return">
<input type="hidden" name="send" value="ok">


<a href='#' onclick="ExecCommand('Bold',false);"><img src='../billeder/texteditor/bold.gif'></a>

<textarea id="text" name="text" style="display:none" onfocus='fokus = true;' onblur='fokus = false;'>Test</textarea>
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>

<input type="submit" value="Opret oplysning">

</form>
Avatar billede w13 Novice
30. januar 2008 - 13:38 #46
Og javascript-delen?
Avatar billede tobiassen Nybegynder
30. januar 2008 - 14:03 #47
ser sådan her ud :

<script type="text/javascript">

function ExecCommand(a,b,c){
    document.getElementById("wysiwyg").contentWindow.focus();
    document.getElementById("wysiwyg").contentWindow.document.execCommand(a,b,c);
}


var editor=document.getElementById("wysiwyg");
function LoadWysiwyg(){
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').innerHTML;
    editor.contentWindow.document.designMode="on"
}
</script>
Avatar billede w13 Novice
30. januar 2008 - 14:18 #48
Nå ja, det har vel noget at gøre med, at vi her sætter editor=document.getElementById("wysiwyg"), men hvis den kode er indsat før wysiwyg-iframet, så findes det jo ikke endnu, og derfor kan id="wysiwyg" heller ikke findes. Ryk hele <script>-blokken ned under <form>-elementet, altså evt. lige før </body>
Avatar billede tobiassen Nybegynder
30. januar 2008 - 14:27 #49
det hjalp desværre ikke, den sætter stdig kun test ind i min database
Avatar billede w13 Novice
30. januar 2008 - 19:51 #50
Jeg kan se, at jeg i nogle tilfælde har brugt et <input type="text"... i stedet for textarea, det kunne muligvis hjælpe. Så skal document.getElementById('text').innerHTML være document.getElementById('text').value de steder, hvor det står.
Avatar billede tobiassen Nybegynder
30. januar 2008 - 21:40 #51
så sætter den "test" udenfor tekstfeltet og nu bliver der slet ik sat noget ind i databasen

<form enctype="multipart/form-data" method="post" name='formen' onsubmit="document.getElementById('text').value=editor.contentWindow.document.body.innerHTML;return">

<a href='#' onclick="ExecCommand('Bold',false);"><img src='../billeder/texteditor/bold.gif'></a>

<input type="text" id="text" name="text" style="display:none" onfocus='fokus = true;' onblur='fokus = false;'>Test</textarea>
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>

script type="text/javascript">

function ExecCommand(a,b,c){
    document.getElementById("wysiwyg").contentWindow.focus();
    document.getElementById("wysiwyg").contentWindow.document.execCommand(a,b,c);
}


function LoadWysiwyg(){
    var editor=document.getElementById("wysiwyg");
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').value;
    editor.contentWindow.document.designMode="on"
}
</script>

<center><input type="submit" value="Opret oplysning"></center>

</form>
Avatar billede w13 Novice
30. januar 2008 - 21:44 #52
Sådan her:

<form enctype="multipart/form-data" method="post" onsubmit="document.getElementById('text').value=editor.contentWindow.document.body.innerHTML;return">

<img style="cursor:pointer" src="../billeder/texteditor/bold.gif" onclick="ExecCommand('Bold',false)">

<input type="text" id="text" name="text" style="display:none" value="Test">
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>

<script type="text/javascript" language="javascript">
function ExecCommand(a,b,c){
    document.getElementById("wysiwyg").contentWindow.focus();
    document.getElementById("wysiwyg").contentWindow.document.execCommand(a,b,c);
}

function LoadWysiwyg(){
    var editor=document.getElementById("wysiwyg");
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').value;
    editor.contentWindow.document.designMode="on"
}
</script>

<div style="text-align:center"><input type="submit" value="Opret oplysning"></div>

</form>
Avatar billede tobiassen Nybegynder
30. januar 2008 - 21:50 #53
den sætter stdig kun test ind i databasen :/
Avatar billede w13 Novice
30. januar 2008 - 21:54 #54
Ja, nu har jeg fundet ud af, at det var fordi "var editor=...;" igen stod inde i funktionen LoadWysiwyg()

Dette er testet og virker:

<form enctype="multipart/form-data" method="post" onsubmit="document.getElementById('text').value=editor.contentWindow.document.body.innerHTML;alert(document.getElementById('text').value);return">

<img style="cursor:pointer" src="../billeder/texteditor/bold.gif" onclick="ExecCommand('Bold',false)">

<input type="text" id="text" name="text" style="display:none" value="Test">
<iframe id="wysiwyg" style="width:600px;height:300px" onload="LoadWysiwyg()"></iframe>

<script type="text/javascript" language="javascript">
function ExecCommand(a,b,c){
    document.getElementById("wysiwyg").contentWindow.focus();
    document.getElementById("wysiwyg").contentWindow.document.execCommand(a,b,c);
}

var editor=document.getElementById("wysiwyg");
function LoadWysiwyg(){
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').value;
    editor.contentWindow.document.designMode="on"
}
</script>

<div style="text-align:center"><input type="submit" value="Opret oplysning"></div>

</form>
Avatar billede tobiassen Nybegynder
30. januar 2008 - 22:00 #55
nu virker det, tusind tak for hjælpen :)

vil gerne give dig flere point, men ved ik li hvordan man gør ?
Avatar billede w13 Novice
30. januar 2008 - 22:08 #56
Det kan du ikke her, men det er også ligemeget. =)
Godt at det virker!
Avatar billede tobiassen Nybegynder
30. januar 2008 - 22:12 #57
okay...

og er jeg os glad for :)
Avatar billede tobiassen Nybegynder
25. juni 2008 - 23:06 #58
texteditoren virker helt fint,
men hvordan kan jeg tilføje links i teksten ?
Avatar billede w13 Novice
25. juni 2008 - 23:14 #59
I stedet for ExecCommand('Bold',false) bruger du ExecCommand('CreateLink',true)
Avatar billede tobiassen Nybegynder
26. juni 2008 - 00:06 #60
og hvordan fortæller jeg den så hvor linket skal være til ?
Avatar billede tobiassen Nybegynder
26. juni 2008 - 12:02 #61
lige nu er den undifined. men man kan måske lave det med en slags popup hvor man så i den skriver hvor linket skal være til ?
Avatar billede roenving Novice
26. juni 2008 - 12:19 #62
En showModalDialog ?-)
Avatar billede tobiassen Nybegynder
26. juni 2008 - 12:25 #63
er ik helt med ;D
Avatar billede w13 Novice
26. juni 2008 - 13:01 #64
Hvordan bruger du:

ExecCommand('Bold',false)

lige nu?
Avatar billede tobiassen Nybegynder
26. juni 2008 - 14:36 #65
bruger det sådan her :

<img style="cursor:pointer" src="../billeder/texteditor/bold.gif" onclick="ExecCommand('Bold',false)">

<input type="text" id="text" name="text" style="display:none">
<iframe id="wysiwyg" style="width:600px; height:300px;" onload="LoadWysiwyg();"></iframe>

<script type="text/javascript" language="javascript">
function ExecCommand(a,b,c){
    document.getElementById("wysiwyg").contentWindow.focus();
    document.getElementById("wysiwyg").contentWindow.document.execCommand(a,b,c);
}

var editor=document.getElementById("wysiwyg");
function LoadWysiwyg(){
    editor.contentWindow.document.body.innerHTML=document.getElementById('text').value;
    editor.contentWindow.document.designMode="on"
}
</script>
Avatar billede w13 Novice
27. juni 2008 - 10:44 #66
Så skal du vel bare bruge:

<img style="cursor:pointer" src="../billeder/texteditor/bold.gif" onclick="ExecCommand('CreateLink',true)">

Du kan også bruge:

<img style="cursor:pointer" src="../billeder/texteditor/bold.gif" onclick="ExecCommand('CreateLink',false,prompt('URL','http://'))">
Avatar billede tobiassen Nybegynder
27. juni 2008 - 13:52 #67
den nederste virker, tak :)
Avatar billede henrik6666 Nybegynder
15. november 2008 - 20:55 #68
Undskyld jeg forstyrrer men jeg leder selv efter lidt ala en Tekst Editor så jeg har prøvet at følge hvad der skal gøres men uden held så er der en af jer der vil skære det ud i pap hvad der skal stå i filen eller filerne ?

På forhånd tak ..
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