Avatar billede tblaster Nybegynder
15. marts 2003 - 17:38 Der er 4 kommentarer og
1 løsning

DHTML Editing Component

Hejsa ...

Jeg prøver ihærdigt at få lavet en DHTML Editing Component. Men jeg ved ikke hvordan jeg skal få teksten til at blive overført til mit system. Jeg håbede derfor at der var nogen der kunne hjælpe mig med det.

Min normale side ser sådan ud:

<%
'--- Nyheder Opret ---
mode=request("mode")
mode1=request.Form("Submit")
if mode="opret" OR mode1="Opret Nyheden" then
%>
<BODY>         
Skriv en Nyhed
         
<form action="admin.asp" method="post">
                       
<td width="17%"><b>Title <font color="#336699">*</font></b></td>
<td width="83%"><input name="title" type="textbox" class="InputTable" size="40"></td>
</tr>
<tr>
<td width="17%"><b>Nyhed <font color="#336699">*</font></b></td>
<td width="83%">
<textarea cols="79" rows="13" name="nyhed"></textarea></td>
</tr>
</table>
<p>Felterne med en * skal udfyldes!</p>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber4">
<tr>
<td width="100%">
<p align="center">
<input name="submit" type="submit" class="Button" value="Opret Nyheden">
<input name="reset" type="reset" class="Button" value="Slet og Start Forfra">
<input name="submit" type="submit" class="Button" value="Preview"></td>                       
</tr>
</table>

På den skal der være et link det åbner min dhtml editor side i et nyt vindue. Det skal så gerne være sådan at når man trykker på gem i min dhtml editor så smides teskten over i min overstående textarea. Der skal altså ændres i min save funktion:

function MENU_FILE_SAVE_onclick() {

  if (tbContentElement.CurrentDocumentPath != "") {
    var path;
     
    path = tbContentElement.CurrentDocumentPath;

    if (path.substring(0, 7) == "http://" || path.substring(0, 7) == "file://")
      tbContentElement.SaveDocument("", true);
    else
      tbContentElement.SaveDocument(tbContentElement.CurrentDocumentPath, false);
  }
  else {
    tbContentElement.SaveDocument("", true);
  }

  URL_VALUE.value = tbContentElement.CurrentDocumentPath;

  tbContentElement.focus();
}

function MENU_FILE_SAVEAS_onclick() {
  tbContentElement.SaveDocument("", true);
  tbContentElement.focus();
}

Jeg har fået nederstående af en ven man kan ikke få det til at virke:

function MENU_FILE_SAVE_onclick() {
    if (opener.editorwindow) {
        opener.editorwindow = null;
        var tmp = tbContentElement.DocumentHTML;
        tmp = tmp.substring(tmp.toUpperCase().indexOf('<BODY>')+6, tmp.toUpperCase().indexOf('</BODY>'));;
   
        switch(type) {
            case 1 :
                opener.actionform.body.value = tmp;
            break;
            case 2 :
                eval ("opener.actionform." + field_name + ".value = tmp;");
            break;
        }
    }  else {
        alert('Cant find the article window to save into. Have to close window without saving.');
    }
    window.close();
}

Jeg tror at det ikke bare er lige sådan til at lave uden at se alle koderne så hvis du har lyst at hjælpe så smid en mail og jeg sender dig alle mine koder, det skulle gerne gøre det en del letter at arbejde med!
Avatar billede mortrr Praktikant
15. marts 2003 - 18:37 #1
Det er nu forholdsvis enkelt. Du skal bare finde et sted at smide DocumentHTML hen. Et eller andet formular felt (fx et textarea), som du poster med formularen.

Men hvorfor bruge den funktion til at få fat i body?
tbContentElement.DOM.body.innerHTML
Avatar billede tblaster Nybegynder
15. marts 2003 - 18:41 #2
Sådan var den ... jeg har hentet den fra microsoft
Avatar billede mortrr Praktikant
15. marts 2003 - 18:47 #3
Uf.


Først tilføjer du et navn til din formular
<form name="fNyhed" action="admin.asp" method="post">

Og så tilretter du scriptet så det gemmer det rigtige sted. jeg har skåret kraftigt ned i det, så det bare er det nødvendige.

function MENU_FILE_SAVE_onclick() {
    if (opener.fNyhed) {
        opener.fNyhed.nyhed.value = tbContentElement.DOM.body.innerHTML;
        window.close();
    }  else {
        alert('Kan ikke finde formularen. Kopier evt. indholdet ud af editoren, luk vinduet og prøv igen.');
    }
}
Avatar billede olebole Juniormester
15. marts 2003 - 22:33 #4
<ole>

Hvis du skal bruge den, man kan downloade fra MS, skal du være meget stærk i JavaScript for at få noget begavet ud af den.

Vil du lave noget selv, må du under alle omstændigheder sætte dig grundigt ind i JS. Derudover skal du også bruge noget serverside-scripting.

I det hele taget skal du sætte dig rigtig grundigt ind i scripting, hvis du vil lave en ordentlig editor ... det er ikke så enkelt endda  ;o)
Ellers må du stille dig tilfreds med en af de mange færdige, du kan finde på nettet.

/mvh
</bole>
Avatar billede tblaster Nybegynder
16. marts 2003 - 11:03 #5
Så vil jeg prøve mig lidt frem og se om der er noget jeg kan bruge
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