Avatar billede mhass Nybegynder
01. december 2004 - 06:10 Der er 11 kommentarer og
1 løsning

Kan ikke sætte en standard værdi for HMTL Editor

Jeg har fundet en HTML editor som jeg gerne vil bruge til min hjemmeside.

Problemet er at jeg ikke kan få den til at beholde den tekst jeg skriver, når jeg trykker gem (så ryger hele ideen ligesom).

Er der nogen der kan hjælpe?

Jeg har fundet menuen her:
http://www.insidedhtml.com/tips/contents/ts12/page1.asp

Og her er support fra Microsoft
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/commandids.asp

Koden for siden er her:
-----------------------------------------------------------
<!-- http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/commandids.asp -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT>
// Set the focus to the editor
function setFocus() {
textEdit.focus()
}

  function copyValue(f) {
    f.elements.EditorValue.value = "" + myEditor.document.body.innerHTML + "";
  }
  // Initialize the editor with an empty document
function initEditor() {
textEdit.document.designMode="On"
textEdit.document.open()
textEdit.document.write("")
textEdit.document.close()
textEdit.focus()
}
window.onload = initEditor

  </SCRIPT>
</HEAD>

<BODY>

<FORM ONSUBMIT="copyValue(this);" action="html.php" method="post">
<IFRAME ID=textEdit WIDTH=400 HEIGHT=200></IFRAME>
<TEXTAREA  NAME=textEditValue></TEXTAREA>
<SCRIPT>
frames.myEditor.document.designMode = "On"

  function makeBold() {
    var tr = frames.textEdit.document.selection.createRange()
    tr.execCommand("Bold")
    tr.select()
    frames.myEditor.focus()
  }
  function makeItalic() {
    var tr = frames.textEdit.document.selection.createRange()
    tr.execCommand("Italic")
    tr.select()
    frames.myEditor.focus()
  }
  function makeDelete() {
    var tr = frames.textEdit.document.selection.createRange()
    tr.execCommand("Delete")
    tr.select()
    frames.myEditor.focus()
  }
  function makeCreateLink() {
    var tr = frames.textEdit.document.selection.createRange()
    tr.execCommand("CreateLink")
    tr.select()
    frames.myEditor.focus()
  }
</SCRIPT>
<br>
<INPUT TYPE="button" ONCLICK="makeBold()" VALUE="Bold"><br>
<INPUT TYPE="button" ONCLICK="makeDelete()" VALUE="Delete"><br>
<INPUT TYPE="button" ONCLICK="makeCreateLink()" VALUE="Link"><br>
<INPUT TYPE="submit" VALUE="Submit">
</FORM>
</BODY>
</HTML>
-----------------------------------------------------------
Avatar billede olebole Juniormester
01. december 2004 - 20:55 #1
<ole>

Gemme-funktionen skal du nok selv skrive i det serversprog, din server understøtter

/mvh
</bole>
Avatar billede mhass Nybegynder
02. december 2004 - 06:47 #2
Det er ikke noget problem at lave gemme-funktionen. Det er problemet at hente det gemt ind, og 'putte' det ind så det står der fra starten.
Avatar billede skyggen2000 Nybegynder
01. april 2005 - 15:13 #3
Well du nævnte i et andet spg. at det var javascript spg, men problemet er  serverside. Når du klikker submit, postes hele dynen til action="html.php".
derved loader siden sig selv igen, og den er naturligvis tom fordi du ikke har gjort noget for at den ikke skulle være det. Du skal tage dit textEditValue felt og sætte ind når siden loades. I asp gør man således
<TEXTAREA  NAME=textEditValue><%=request.form("textEditValue")%></TEXTAREA>, og den er tom hvis værdien ikke eksisterer.

ved ikke hvordan man gør det i PHP detsværre.

Hvis ikke det er løsningen på dit problem, må du lige udspecifire hvad du prøver og hvad formålet er.
Avatar billede mhass Nybegynder
01. april 2005 - 15:42 #4
Det jeg ser som om javscript-problemet er det her

function copyValue(f) {
  f.elements.EditorValue.value = "" + myEditor.document.body.innerHTML + "";
}

Denne funktion afvikles når man trykker submit. Det funktionen skulle gøre, er at kopiere indholdet af iframe (med id="textEdit") ind som value i <textarea> som har name="textEditValue". Det sker bare ikke.

Resten med at hente & gemme værdier er intet problem.
Avatar billede olebole Juniormester
01. april 2005 - 17:15 #5
Ja, det er et problem, hvis det skal være JavaScript  :)

function copyValue(f) {
  f.elements.EditorValue.value = myEditor.document.body.innerHTML;
}

- er syntaksen i JavaScript
Avatar billede olebole Juniormester
01. april 2005 - 17:18 #6
... ikke at det gør nogen forskel, men gåseøjnene udenom er helt overflødige.
Hvorfra ved du, om indholdet kommer over i textarea'et? Hvis formen submitter i samme splitsekund, kan du jo ikke se det med det blotte øje  :)
Avatar billede mhass Nybegynder
01. april 2005 - 17:42 #7
Jeg ved heller ikke om indholdet kommer over i <textarea>, men jeg tror det kunne være en løsning hvis det gjorde det, for man kan jo ikke opfange en værdi af en iframe på den side der post'es til.

Hvis man kunne få den værdi kopieret, kunne man hente den på næste side og gemme den.... Er der nogen der har et løsningsforslag?!?!?
Avatar billede skyggen2000 Nybegynder
04. april 2005 - 09:48 #8
loader du din editor i en iframe for sig selv?

Jeg får fejl i denne linie ved load:
frames.myEditor.document.designMode = "On"

i init laver du:
textEdit.document.designMode="On"

og i denne ved submit:
f.elements.EditorValue.value = myEditor.document.body.innerHTML;

vil du:
f.elements.textEditValue.value = textEdit.document.body.innerHTML;



Der er ikke noget så vidt jeg kan se der hedder EditorValue og myEditor.

din form er uden om din iframe og hele siden postes og loades igen, kan ikke se hvad du vil få ud af at gemme værdien inden det sker...

har du slået din
Avatar billede skyggen2000 Nybegynder
04. april 2005 - 09:49 #9
ups:) fortsat -> script debugger til, for der er flere fejl i din kode: under tools\internet options\advanced ?
Avatar billede skyggen2000 Nybegynder
06. april 2005 - 09:40 #10
Fik du det til at funke?
Avatar billede mhass Nybegynder
06. april 2005 - 12:45 #11
Har ikke lige haft tid. Skriver når jeg har testet det :-)
Avatar billede mhass Nybegynder
28. september 2005 - 15:19 #12
Jeg har fundet en anden HTMLeditor der er meget lettere at lege med, og så er den gratis. Find den her

http://dynarch.com/htmlarea
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