Avatar billede jnissen Nybegynder
31. maj 2002 - 10:07 Der er 63 kommentarer og
1 løsning

Hjælp til online redigering

Hejsa

Jeg har behøv for lidt hjælp.

Jeg har læst artiklen: http://www.html.dk/artikler/00030/ og downloadet koden fra Microsoft. Men jeg kan ikke helt forstå hvordan det virker.

Er der nogen som vil tilpasse det sådan så den henter teksten fra en database, og også gemmer det i den igen.

Jeg ønsker også en kort vejledning til hvordan jeg skal sætte det op på serveren. Hvor mange filer skal med m.m

Håber der er nogen som vil hjælpe.

Mvh. Jacob
Avatar billede dk_akj Nybegynder
31. maj 2002 - 10:45 #1
I funktionen MENU_FILE_SAVE_onclick() kan du fjerne den eksisterende kode og indsætte demne.


htmlsource = tbContentElement.DocumentHTML
Så får du den genererede html over i variablen htmlsource.

Hvordan du sætter det op på serveren ?? jeg valgte auto  download fra MS og så var det hele sat op.

//akj
Avatar billede dk_akj Nybegynder
31. maj 2002 - 10:54 #2
Jeg kan da lige tilføje at det jeg har gjort i lignende tilfælde er at
gemme html sourcen i en "hidden" og så submite formen.

form.document.form.DescHolder.value=htmlsource;
document.form.submit();
Avatar billede jnissen Nybegynder
31. maj 2002 - 14:37 #3
Jeg er ikke helt med.

Er det ikke muligt at jeg kunne få dig til at lave det sådan så det virker med database også?

Jeg er villig til at betale for det.
Avatar billede dk_akj Nybegynder
31. maj 2002 - 14:41 #4
Hvor meget kender du til asp og databaser ??
Avatar billede jnissen Nybegynder
31. maj 2002 - 14:42 #5
Tjaa....jeg kender da lidt til det, men er ikke prof overhovedet.
Avatar billede dk_akj Nybegynder
31. maj 2002 - 14:46 #6
Men du kan indsætte records i en database ??
Avatar billede jnissen Nybegynder
31. maj 2002 - 14:48 #7
Ja, det plejer da lykkes mig :-)
Avatar billede dk_akj Nybegynder
31. maj 2002 - 14:56 #8
OK

Prøv, på din side med editoren at oprette en hidden med navnet htmlsrc

ret koden på gemknappen til: (funktionen hedder (MENU_FILE_SAVE_onclick)
htmlsource = tbContentElement.DocumentHTML
form.document.form.htmlsrc.value=htmlsource;
document.form.submit();

Øverst i din asp side skriver du flg:
<%
htmlsrc = Request.Form("htmlsrc")
strsql = "INSERT INTO NEWS (created,author,news,header) VALUE......
Conn.Execute(strsql)
%>

Ret sql'en så den passer til din database.

//akj
Avatar billede jnissen Nybegynder
31. maj 2002 - 15:03 #9
Hmm....er det denne linje?

<div class="tbButton" ID="MENU_FILE_SAVE" TITLE="Post To Server" LANGUAGE="javascript" onclick="return MENU_FILE_SAVE_onclick()">

Hvordan skal den så se ud?
Avatar billede jnissen Nybegynder
31. maj 2002 - 15:04 #10
Eller denne?

function MENU_FILE_SAVE_onclick() {
Avatar billede dk_akj Nybegynder
31. maj 2002 - 15:05 #11
før:
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();
efter:
function MENU_FILE_SAVE_onclick() {
htmlsource = tbContentElement.DocumentHTML
form.document.form.htmlsrc.value=htmlsource;
document.form.submit();
}
Avatar billede dk_akj Nybegynder
31. maj 2002 - 15:07 #12
ups, før:
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();
}
Avatar billede jnissen Nybegynder
31. maj 2002 - 15:12 #13
Det kan jeg ikke finde. Det kan være det ikke er den samme fil.

Først downlaode jeg filen fra MS og den blev udpakket på mit C-drev.
Hele den mappe træk jeg over i mit websted i frontpages.
Så nu arbejder med med den fil som hedder builded.htm som ligger i "dhtmsamp -> samples -> web -> webapp -> builded.htm". Er det forket? Kan jeg nøjes med kun nogle af filerne, og ikke alle de mapper?
Avatar billede jnissen Nybegynder
31. maj 2002 - 15:15 #14
Nåå bruger du: fulledit.htm ?? i den mappe som hedder webedit?
Avatar billede dk_akj Nybegynder
31. maj 2002 - 15:16 #15
Jeg har downloadet det hele og har ikke ændret på strukturen.

Den fil jeg har rettet i hedder:
\downloads\samples\internet\browser\editcntrl\fulledit.html

//akj
Avatar billede dk_akj Nybegynder
31. maj 2002 - 15:17 #16
Jeps, fulledit.htm

//akj
Avatar billede jnissen Nybegynder
31. maj 2002 - 15:18 #17
Hmm... de mapper her jeg ikke. Jeg prøver lige at downloade igen.
Avatar billede jnissen Nybegynder
31. maj 2002 - 15:19 #18
Jeg kan måske godt bruge den jeg har?
Avatar billede jnissen Nybegynder
31. maj 2002 - 15:19 #19
Hvad er det så for en .asp fil jeg skal indsætte dette i?

<%
htmlsrc = Request.Form("htmlsrc")
strsql = "INSERT INTO NEWS (created,author,news,header) VALUE......
Conn.Execute(strsql)
%>
Avatar billede dk_akj Nybegynder
31. maj 2002 - 15:20 #20
Ja bare brug du den du har.

//akj
Avatar billede dk_akj Nybegynder
31. maj 2002 - 15:23 #21
vent lidt jeg poster hele filen om 2 min.

//akj
Avatar billede jnissen Nybegynder
31. maj 2002 - 15:24 #22
Okay. Hvis du har lavet det hele. Så havde det måske været nemre at bare sende det hele til mig?
Avatar billede dk_akj Nybegynder
31. maj 2002 - 16:11 #23
jeg når det desværre ikke idag, og heller ikke imorgen.

//akj
Avatar billede jnissen Nybegynder
31. maj 2002 - 16:17 #24
Det er okay, jeg kan godt vente. Men vil du lave det for mig, eller har du ikke lyst?
Avatar billede dk_akj Nybegynder
31. maj 2002 - 17:46 #25
Jeg skal nok hjælpe.

//akj
Avatar billede dk_akj Nybegynder
03. juni 2002 - 07:17 #26
Så er det klar

//akj

*********************start fulledit.htm***************************<!--TOOLBAR_START--><!--TOOLBAR_EXEMPT--><!--TOOLBAR_END-->
<!-- Copyright 2000 Microsoft Corporation. All rights reserved. -->
<!-- Author: Steve Isaac, Microsoft Corporation -->
<!--This demo shows how to host the DHTML Editing component on a Web page.-->
<html>

<head>
<meta NAME="GENERATOR" CONTENT="Microsoft Visual Studio 6.0">
<title>DHTML Editor </title>

<!-- Styles -->
<link REL="stylesheet" TYPE="text/css" HREF="./Toolbars/toolbars.css">


<!-- Script Functions and Event Handlers -->
<script LANGUAGE="JavaScript" SRC="./Inc/dhtmled.js">
</script>


<script ID="clientEventHandlersJS" LANGUAGE="javascript">
<!--

//
// Constants
//
var MENU_SEPARATOR = ""; // Context menu separator

//
// Globals
//

var docComplete = false;
var initialDocComplete = false;

var QueryStatusToolbarButtons = new Array();
var QueryStatusEditMenu = new Array();
var QueryStatusFormatMenu = new Array();
var QueryStatusHTMLMenu = new Array();
var QueryStatusTableMenu = new Array();
var QueryStatusZOrderMenu = new Array();
var ContextMenu = new Array();
var GeneralContextMenu = new Array();
var TableContextMenu = new Array();
var AbsPosContextMenu = new Array();

//
// Utility functions
//

// Constructor for custom object that represents an item on the context menu
function ContextMenuItem(string, cmdId) {
  this.string = string;
  this.cmdId = cmdId;
}

// Constructor for custom object that represents a QueryStatus command and
// corresponding toolbar element.
function QueryStatusItem(command, element) {
  this.command = command;
  this.element = element;
}

//
// Event handlers
//
function window_onload() {

  // Initialze QueryStatus tables. These tables associate a command id with the
  // corresponding button object. Must be done on window load, 'cause the buttons must exist.
  QueryStatusToolbarButtons[0] = new QueryStatusItem(DECMD_BOLD, document.body.all["DECMD_BOLD"]);
  QueryStatusToolbarButtons[1] = new QueryStatusItem(DECMD_COPY, document.body.all["DECMD_COPY"]);
  QueryStatusToolbarButtons[2] = new QueryStatusItem(DECMD_CUT, document.body.all["DECMD_CUT"]);
  QueryStatusToolbarButtons[3] = new QueryStatusItem(DECMD_HYPERLINK, document.body.all["DECMD_HYPERLINK"]);
  QueryStatusToolbarButtons[4] = new QueryStatusItem(DECMD_INDENT, document.body.all["DECMD_INDENT"]);
  QueryStatusToolbarButtons[5] = new QueryStatusItem(DECMD_ITALIC, document.body.all["DECMD_ITALIC"]);
  QueryStatusToolbarButtons[6] = new QueryStatusItem(DECMD_JUSTIFYLEFT, document.body.all["DECMD_JUSTIFYLEFT"]);
  QueryStatusToolbarButtons[7] = new QueryStatusItem(DECMD_JUSTIFYCENTER, document.body.all["DECMD_JUSTIFYCENTER"]);
  QueryStatusToolbarButtons[8] = new QueryStatusItem(DECMD_JUSTIFYRIGHT, document.body.all["DECMD_JUSTIFYRIGHT"]);
  QueryStatusToolbarButtons[9] = new QueryStatusItem(DECMD_LOCK_ELEMENT, document.body.all["DECMD_LOCK_ELEMENT"]);
  QueryStatusToolbarButtons[10] = new QueryStatusItem(DECMD_MAKE_ABSOLUTE, document.body.all["DECMD_MAKE_ABSOLUTE"]);
  QueryStatusToolbarButtons[11] = new QueryStatusItem(DECMD_ORDERLIST, document.body.all["DECMD_ORDERLIST"]);
  QueryStatusToolbarButtons[12] = new QueryStatusItem(DECMD_OUTDENT, document.body.all["DECMD_OUTDENT"]);
  QueryStatusToolbarButtons[13] = new QueryStatusItem(DECMD_PASTE, document.body.all["DECMD_PASTE"]);
  QueryStatusToolbarButtons[14] = new QueryStatusItem(DECMD_REDO, document.body.all["DECMD_REDO"]);
  QueryStatusToolbarButtons[15] = new QueryStatusItem(DECMD_UNDERLINE, document.body.all["DECMD_UNDERLINE"]);
  QueryStatusToolbarButtons[16] = new QueryStatusItem(DECMD_UNDO, document.body.all["DECMD_UNDO"]);
  QueryStatusToolbarButtons[17] = new QueryStatusItem(DECMD_UNORDERLIST, document.body.all["DECMD_UNORDERLIST"]);
  QueryStatusToolbarButtons[18] = new QueryStatusItem(DECMD_INSERTTABLE, document.body.all["DECMD_INSERTTABLE"]);
  QueryStatusToolbarButtons[19] = new QueryStatusItem(DECMD_INSERTROW, document.body.all["DECMD_INSERTROW"]);
  QueryStatusToolbarButtons[20] = new QueryStatusItem(DECMD_DELETEROWS, document.body.all["DECMD_DELETEROWS"]);
  QueryStatusToolbarButtons[21] = new QueryStatusItem(DECMD_INSERTCOL, document.body.all["DECMD_INSERTCOL"]);
  QueryStatusToolbarButtons[22] = new QueryStatusItem(DECMD_DELETECOLS, document.body.all["DECMD_DELETECOLS"]);
  QueryStatusToolbarButtons[23] = new QueryStatusItem(DECMD_INSERTCELL, document.body.all["DECMD_INSERTCELL"]);
  QueryStatusToolbarButtons[24] = new QueryStatusItem(DECMD_DELETECELLS, document.body.all["DECMD_DELETECELLS"]);
  QueryStatusToolbarButtons[25] = new QueryStatusItem(DECMD_MERGECELLS, document.body.all["DECMD_MERGECELLS"]);
  QueryStatusToolbarButtons[26] = new QueryStatusItem(DECMD_SPLITCELL, document.body.all["DECMD_SPLITCELL"]);
  QueryStatusToolbarButtons[27] = new QueryStatusItem(DECMD_SETFORECOLOR, document.body.all["DECMD_SETFORECOLOR"]);
  QueryStatusToolbarButtons[28] = new QueryStatusItem(DECMD_SETBACKCOLOR, document.body.all["DECMD_SETBACKCOLOR"]);
  QueryStatusEditMenu[0] = new QueryStatusItem(DECMD_UNDO, document.body.all["EDIT_UNDO"]);
  QueryStatusEditMenu[1] = new QueryStatusItem(DECMD_REDO, document.body.all["EDIT_REDO"]);
  QueryStatusEditMenu[2] = new QueryStatusItem(DECMD_CUT, document.body.all["EDIT_CUT"]);
  QueryStatusEditMenu[3] = new QueryStatusItem(DECMD_COPY, document.body.all["EDIT_COPY"]);
  QueryStatusEditMenu[4] = new QueryStatusItem(DECMD_PASTE, document.body.all["EDIT_PASTE"]);
  QueryStatusEditMenu[5] = new QueryStatusItem(DECMD_DELETE, document.body.all["EDIT_DELETE"]);
  QueryStatusHTMLMenu[0] = new QueryStatusItem(DECMD_HYPERLINK, document.body.all["HTML_HYPERLINK"]);
  QueryStatusHTMLMenu[1] = new QueryStatusItem(DECMD_IMAGE, document.body.all["HTML_IMAGE"]);
  QueryStatusFormatMenu[0] = new QueryStatusItem(DECMD_FONT, document.body.all["FORMAT_FONT"]);
  QueryStatusFormatMenu[1] = new QueryStatusItem(DECMD_BOLD, document.body.all["FORMAT_BOLD"]);
  QueryStatusFormatMenu[2] = new QueryStatusItem(DECMD_ITALIC, document.body.all["FORMAT_ITALIC"]);
  QueryStatusFormatMenu[3] = new QueryStatusItem(DECMD_UNDERLINE, document.body.all["FORMAT_UNDERLINE"]);
  QueryStatusFormatMenu[4] = new QueryStatusItem(DECMD_JUSTIFYLEFT, document.body.all["FORMAT_JUSTIFYLEFT"]);
  QueryStatusFormatMenu[5] = new QueryStatusItem(DECMD_JUSTIFYCENTER, document.body.all["FORMAT_JUSTIFYCENTER"]);
  QueryStatusFormatMenu[6] = new QueryStatusItem(DECMD_JUSTIFYRIGHT, document.body.all["FORMAT_JUSTIFYRIGHT"]);
  QueryStatusFormatMenu[7] = new QueryStatusItem(DECMD_SETFORECOLOR, document.body.all["FORMAT_SETFORECOLOR"]);
  QueryStatusFormatMenu[8] = new QueryStatusItem(DECMD_SETBACKCOLOR, document.body.all["FORMAT_SETBACKCOLOR"]);
  QueryStatusTableMenu[0] = new QueryStatusItem(DECMD_INSERTTABLE, document.body.all["TABLE_INSERTTABLE"]);
  QueryStatusTableMenu[1] = new QueryStatusItem(DECMD_INSERTROW, document.body.all["TABLE_INSERTROW"]);
  QueryStatusTableMenu[2] = new QueryStatusItem(DECMD_DELETEROWS, document.body.all["TABLE_DELETEROW"]);
  QueryStatusTableMenu[3] = new QueryStatusItem(DECMD_INSERTCOL, document.body.all["TABLE_INSERTCOL"]);
  QueryStatusTableMenu[4] = new QueryStatusItem(DECMD_DELETECOLS, document.body.all["TABLE_DELETECOL"]);
  QueryStatusTableMenu[5] = new QueryStatusItem(DECMD_INSERTCELL, document.body.all["TABLE_INSERTCELL"]);
  QueryStatusTableMenu[6] = new QueryStatusItem(DECMD_DELETECELLS, document.body.all["TABLE_DELETECELL"]);
  QueryStatusTableMenu[7] = new QueryStatusItem(DECMD_MERGECELLS, document.body.all["TABLE_MERGECELL"]);
  QueryStatusTableMenu[8] = new QueryStatusItem(DECMD_SPLITCELL, document.body.all["TABLE_SPLITCELL"]);
  QueryStatusZOrderMenu[0] = new QueryStatusItem(DECMD_SEND_TO_BACK, document.body.all["ZORDER_SENDBACK"]);
  QueryStatusZOrderMenu[1] = new QueryStatusItem(DECMD_BRING_TO_FRONT, document.body.all["ZORDER_BRINGFRONT"]);
  QueryStatusZOrderMenu[2] = new QueryStatusItem(DECMD_SEND_BACKWARD, document.body.all["ZORDER_SENDBACKWARD"]);
  QueryStatusZOrderMenu[3] = new QueryStatusItem(DECMD_BRING_FORWARD, document.body.all["ZORDER_BRINGFORWARD"]);
  QueryStatusZOrderMenu[4] = new QueryStatusItem(DECMD_SEND_BELOW_TEXT, document.body.all["ZORDER_BELOWTEXT"]);
  QueryStatusZOrderMenu[5] = new QueryStatusItem(DECMD_BRING_ABOVE_TEXT, document.body.all["ZORDER_ABOVETEXT"]);
 
  // Initialize the context menu arrays.
  GeneralContextMenu[0] = new ContextMenuItem("Cut", DECMD_CUT);
  GeneralContextMenu[1] = new ContextMenuItem("Copy", DECMD_COPY);
  GeneralContextMenu[2] = new ContextMenuItem("Paste", DECMD_PASTE);
  TableContextMenu[0] = new ContextMenuItem(MENU_SEPARATOR, 0);
  TableContextMenu[1] = new ContextMenuItem("Insert Row", DECMD_INSERTROW);
  TableContextMenu[2] = new ContextMenuItem("Delete Rows", DECMD_DELETEROWS);
  TableContextMenu[3] = new ContextMenuItem(MENU_SEPARATOR, 0);
  TableContextMenu[4] = new ContextMenuItem("Insert Column", DECMD_INSERTCOL);
  TableContextMenu[5] = new ContextMenuItem("Delete Columns", DECMD_DELETECOLS);
  TableContextMenu[6] = new ContextMenuItem(MENU_SEPARATOR, 0);
  TableContextMenu[7] = new ContextMenuItem("Insert Cell", DECMD_INSERTCELL);
  TableContextMenu[8] = new ContextMenuItem("Delete Cells", DECMD_DELETECELLS);
  TableContextMenu[9] = new ContextMenuItem("Merge Cells", DECMD_MERGECELLS);
  TableContextMenu[10] = new ContextMenuItem("Split Cell", DECMD_SPLITCELL);
  AbsPosContextMenu[0] = new ContextMenuItem(MENU_SEPARATOR, 0);
  AbsPosContextMenu[1] = new ContextMenuItem("Send To Back", DECMD_SEND_TO_BACK);
  AbsPosContextMenu[2] = new ContextMenuItem("Bring To Front", DECMD_BRING_TO_FRONT);
  AbsPosContextMenu[3] = new ContextMenuItem(MENU_SEPARATOR, 0);
  AbsPosContextMenu[4] = new ContextMenuItem("Send Backward", DECMD_SEND_BACKWARD);
  AbsPosContextMenu[5] = new ContextMenuItem("Bring Forward", DECMD_BRING_FORWARD);
  AbsPosContextMenu[6] = new ContextMenuItem(MENU_SEPARATOR, 0);
  AbsPosContextMenu[7] = new ContextMenuItem("Send Below Text", DECMD_SEND_BELOW_TEXT);
  AbsPosContextMenu[8] = new ContextMenuItem("Bring Above Text", DECMD_BRING_ABOVE_TEXT);

  tbContentElement.focus();
}

function InsertTable() {
  var pVar = ObjTableInfo;
  var args = new Array();
  var arr = null;
 
  // Display table information dialog
  args["NumRows"] = ObjTableInfo.NumRows;
  args["NumCols"] = ObjTableInfo.NumCols;
  args["TableAttrs"] = ObjTableInfo.TableAttrs;
  args["CellAttrs"] = ObjTableInfo.CellAttrs;
  args["Caption"] = ObjTableInfo.Caption;
 
  arr = null;
 
  arr = showModalDialog( "./Inc/instable.htm",
                            args,
                            "font-family:Verdana; font-size:12; dialogWidth:36em; dialogHeight:25em");
  if (arr != null) {
 
    // Initialize table object
    for ( elem in arr ) {
      if ("NumRows" == elem && arr["NumRows"] != null) {
        ObjTableInfo.NumRows = arr["NumRows"];
      } else if ("NumCols" == elem && arr["NumCols"] != null) {
        ObjTableInfo.NumCols = arr["NumCols"];
      } else if ("TableAttrs" == elem) {
        ObjTableInfo.TableAttrs = arr["TableAttrs"];
      } else if ("CellAttrs" == elem) {
        ObjTableInfo.CellAttrs = arr["CellAttrs"];
      } else if ("Caption" == elem) {
        ObjTableInfo.Caption = arr["Caption"];
      }
    }
    tbContentElement.ExecCommand(DECMD_INSERTTABLE,OLECMDEXECOPT_DODEFAULT, pVar); 
  }
}

function tbContentElement_ShowContextMenu() {
  var menuStrings = new Array();
  var menuStates = new Array();
  var state;
  var i
  var idx = 0;

  // Rebuild the context menu.
  ContextMenu.length = 0;

  // Always show general menu
  for (i=0; i<GeneralContextMenu.length; i++) {
    ContextMenu[idx++] = GeneralContextMenu[i];
  }

  // Is the selection inside a table? Add table menu if so
  if (tbContentElement.QueryStatus(DECMD_INSERTROW) != DECMDF_DISABLED) {
    for (i=0; i<TableContextMenu.length; i++) {
      ContextMenu[idx++] = TableContextMenu[i];
    }
  }

  // Is the selection on an absolutely positioned element? Add z-index commands if so
  if (tbContentElement.QueryStatus(DECMD_LOCK_ELEMENT) != DECMDF_DISABLED) {
    for (i=0; i<AbsPosContextMenu.length; i++) {
      ContextMenu[idx++] = AbsPosContextMenu[i];
    }
  }

  // Set up the actual arrays that get passed to SetContextMenu
  for (i=0; i<ContextMenu.length; i++) {
    menuStrings[i] = ContextMenu[i].string;
    if (menuStrings[i] != MENU_SEPARATOR) {
      state = tbContentElement.QueryStatus(ContextMenu[i].cmdId);
    } else {
      state = DECMDF_ENABLED;
    }
    if (state == DECMDF_DISABLED || state == DECMDF_NOTSUPPORTED) {
      menuStates[i] = OLE_TRISTATE_GRAY;
    } else if (state == DECMDF_ENABLED || state == DECMDF_NINCHED) {
      menuStates[i] = OLE_TRISTATE_UNCHECKED;
    } else { // DECMDF_LATCHED
      menuStates[i] = OLE_TRISTATE_CHECKED;
    }
  }
 
  // Set the context menu
  tbContentElement.SetContextMenu(menuStrings, menuStates);
}

function tbContentElement_ContextMenuAction(itemIndex) {
 
  if (ContextMenu[itemIndex].cmdId == DECMD_INSERTTABLE) {
    InsertTable();
  } else {
    tbContentElement.ExecCommand(ContextMenu[itemIndex].cmdId, OLECMDEXECOPT_DODEFAULT);
  }
}

// DisplayChanged handler. Very time-critical routine; this is called
// every time a character is typed. QueryStatus those toolbar buttons that need
// to be in synch with the current state of the document and update.
function tbContentElement_DisplayChanged() {
  var i, s;

  for (i=0; i<QueryStatusToolbarButtons.length; i++) {
    s = tbContentElement.QueryStatus(QueryStatusToolbarButtons[i].command);
    if (s == DECMDF_DISABLED || s == DECMDF_NOTSUPPORTED) {
      TBSetState(QueryStatusToolbarButtons[i].element, "gray");
    } else if (s == DECMDF_ENABLED  || s == DECMDF_NINCHED) {
      TBSetState(QueryStatusToolbarButtons[i].element, "unchecked");
    } else { // DECMDF_LATCHED
      TBSetState(QueryStatusToolbarButtons[i].element, "checked");
    }
  }

  s = tbContentElement.QueryStatus(DECMD_GETBLOCKFMT);
  if (s == DECMDF_DISABLED || s == DECMDF_NOTSUPPORTED) {
    ParagraphStyle.disabled = true;
  } else {
    ParagraphStyle.disabled = false;
    ParagraphStyle.value = tbContentElement.ExecCommand(DECMD_GETBLOCKFMT, OLECMDEXECOPT_DODEFAULT);
  }
  s = tbContentElement.QueryStatus(DECMD_GETFONTNAME);
  if (s == DECMDF_DISABLED || s == DECMDF_NOTSUPPORTED) {
    FontName.disabled = true;
  } else {
    FontName.disabled = false;
    FontName.value = tbContentElement.ExecCommand(DECMD_GETFONTNAME, OLECMDEXECOPT_DODEFAULT);
  }
 
  if (s == DECMDF_DISABLED || s == DECMDF_NOTSUPPORTED) {
    FontSize.disabled = true;
  } else {
    FontSize.disabled = false;
    FontSize.value = tbContentElement.ExecCommand(DECMD_GETFONTSIZE, OLECMDEXECOPT_DODEFAULT);
  }
}

function MENU_FILE_OPEN_onclick() {

  /**
    NOTE: The user is not prompted to save the the current
    document before the call to LoadDocument. Therefore the
    user will lose any edits he has made to the current document
    after the call to LoadDocument. The purpose of the sample is
    to provide a basic demonstration of how to use the DHTMLEdit
    control. A complete implementation would check if there were
    unsaved edits to the current document by testing the IsDirty
    property on the control. If the IsDirty property is true, the
    user should be given an opporunity to save his edits first.

    See the implementation of MENU_FILE_NEW_onclick() in this sample
    for a demonstration how to do this.
  **/

  docComplete = false;
  tbContentElement.LoadDocument("", true);
  tbContentElement.focus();
}

function MENU_FILE_SAVE_onclick() {
MySave();

}

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

function DECMD_VISIBLEBORDERS_onclick() {
  tbContentElement.ShowBorders = !tbContentElement.ShowBorders;
  tbContentElement.focus();
}

function DECMD_UNORDERLIST_onclick() {
  tbContentElement.ExecCommand(DECMD_UNORDERLIST,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_UNDO_onclick() {
  tbContentElement.ExecCommand(DECMD_UNDO,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_UNDERLINE_onclick() {
  tbContentElement.ExecCommand(DECMD_UNDERLINE,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_SNAPTOGRID_onclick() {
  tbContentElement.SnapToGrid = !tbContentElement.SnapToGrid;
  tbContentElement.focus();
}

function DECMD_SHOWDETAILS_onclick() {
  tbContentElement.ShowDetails = !tbContentElement.ShowDetails;
  tbContentElement.focus();
}

function DECMD_SETFORECOLOR_onclick() {
  var arr = showModalDialog( "./Inc/selcolor.htm",
                            "",
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:34em" );

  if (arr != null) {
    tbContentElement.ExecCommand(DECMD_SETFORECOLOR,OLECMDEXECOPT_DODEFAULT, arr);
  }
}

function DECMD_SETBACKCOLOR_onclick() {
  var arr = showModalDialog( "./Inc/selcolor.htm",
                            "",
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:34em" );

  if (arr != null) {
    tbContentElement.ExecCommand(DECMD_SETBACKCOLOR,OLECMDEXECOPT_DODEFAULT, arr);
  }
  tbContentElement.focus();
}

function DECMD_SELECTALL_onclick() {
  tbContentElement.ExecCommand(DECMD_SELECTALL,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_REDO_onclick() {
  tbContentElement.ExecCommand(DECMD_REDO,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_PASTE_onclick() {
  tbContentElement.ExecCommand(DECMD_PASTE,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_OUTDENT_onclick() {
  tbContentElement.ExecCommand(DECMD_OUTDENT,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_ORDERLIST_onclick() {
  tbContentElement.ExecCommand(DECMD_ORDERLIST,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_MAKE_ABSOLUTE_onclick() {
  tbContentElement.ExecCommand(DECMD_MAKE_ABSOLUTE,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_LOCK_ELEMENT_onclick() {
  tbContentElement.ExecCommand(DECMD_LOCK_ELEMENT,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_JUSTIFYRIGHT_onclick() {
  tbContentElement.ExecCommand(DECMD_JUSTIFYRIGHT,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_JUSTIFYLEFT_onclick() {
  tbContentElement.ExecCommand(DECMD_JUSTIFYLEFT,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_JUSTIFYCENTER_onclick() {
  tbContentElement.ExecCommand(DECMD_JUSTIFYCENTER,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_ITALIC_onclick() {
  tbContentElement.ExecCommand(DECMD_ITALIC,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_INDENT_onclick() {
  tbContentElement.ExecCommand(DECMD_INDENT,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_IMAGE_onclick() {
  tbContentElement.ExecCommand(DECMD_IMAGE,OLECMDEXECOPT_PROMPTUSER);
  tbContentElement.focus();
}

function DECMD_HYPERLINK_onclick() {
  tbContentElement.ExecCommand(DECMD_HYPERLINK,OLECMDEXECOPT_PROMPTUSER);
  tbContentElement.focus();
}

function DECMD_FINDTEXT_onclick() {
  tbContentElement.ExecCommand(DECMD_FINDTEXT,OLECMDEXECOPT_PROMPTUSER);
  tbContentElement.focus();
}

function DECMD_DELETE_onclick() {
  tbContentElement.ExecCommand(DECMD_DELETE,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_CUT_onclick() {
  tbContentElement.ExecCommand(DECMD_CUT,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_COPY_onclick() {
  tbContentElement.ExecCommand(DECMD_COPY,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function DECMD_BOLD_onclick() {
  tbContentElement.ExecCommand(DECMD_BOLD,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function OnMenuShow(QueryStatusArray, menu) {
  var i, s;

  for (i=0; i<QueryStatusArray.length; i++) {
    s = tbContentElement.QueryStatus(QueryStatusArray[i].command);
    if (s == DECMDF_DISABLED || s == DECMDF_NOTSUPPORTED) {
      TBSetState(QueryStatusArray[i].element, "gray");
    } else if (s == DECMDF_ENABLED  || s == DECMDF_NINCHED) {
      TBSetState(QueryStatusArray[i].element, "unchecked");
    } else { // DECMDF_LATCHED
      TBSetState(QueryStatusArray[i].element, "checked");
    }
  }

  // If the menu is the HTML menu, then
  // check if the selection type is "Control", if so,
  // set menu item state of the Intrinsics submenu and rebuild the menu.
  if (QueryStatusArray[0].command == DECMD_HYPERLINK) {
    for (i=0; i < HTML_INTRINSICS.all.length; i++) {
      if (HTML_INTRINSICS.all[i].className == "tbMenuItem") {   
        if (tbContentElement.DOM.selection.type == "Control") {
            TBSetState(HTML_INTRINSICS.all[i], "gray"); 
        } else {
            TBSetState(HTML_INTRINSICS.all[i], "unchecked"); 
        }
      }
    }
  }

  // rebuild the menu so that menu item states will be reflected
  TBRebuildMenu(menu, true);
 
  tbContentElement.focus();
}

function INTRINSICS_onclick(html) {
  var selection;
 
  selection = tbContentElement.DOM.selection.createRange();
  selection.pasteHTML(html);
  tbContentElement.focus();
}

function TABLE_DELETECELL_onclick() {
  tbContentElement.ExecCommand(DECMD_DELETECELLS,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function TABLE_DELETECOL_onclick() {
  tbContentElement.ExecCommand(DECMD_DELETECOLS,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function TABLE_DELETEROW_onclick() {
  tbContentElement.ExecCommand(DECMD_DELETEROWS,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function TABLE_INSERTCELL_onclick() {
  tbContentElement.ExecCommand(DECMD_INSERTCELL,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function TABLE_INSERTCOL_onclick() {
  tbContentElement.ExecCommand(DECMD_INSERTCOL,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function TABLE_INSERTROW_onclick() {
  tbContentElement.ExecCommand(DECMD_INSERTROW,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function TABLE_INSERTTABLE_onclick() {
  InsertTable();
  tbContentElement.focus();
}

function TABLE_MERGECELL_onclick() {
  tbContentElement.ExecCommand(DECMD_MERGECELLS,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function TABLE_SPLITCELL_onclick() {
  tbContentElement.ExecCommand(DECMD_SPLITCELL,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function FORMAT_FONT_onclick() {
  tbContentElement.ExecCommand(DECMD_FONT,OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function MENU_FILE_NEW_onclick() {

  if (tbContentElement.IsDirty) {
    if (confirm("Save changes?")) {
      MENU_FILE_SAVE_onclick();
    }
  }
 
  URL_VALUE.value = "http://";
  tbContentElement.NewDocument();
  tbContentElement.focus();
}

function URL_VALUE_onkeypress() {
  if (event.keyCode == 13) {

  /**
    NOTE: The user is not prompted to save the the current
    document before the call to LoadURL. Therefore the
    user will lose any edits he has made to the current document
    after the call to LoadURL. The purpose of the sample is
    to provide a basic demonstration of how to use the DHTMLEdit
    control. A complete implementation would check if there were
    unsaved edits to the current document by testing the IsDirty
    property on the control. If the IsDirty property is true, the
    user should be given an opporunity to save his edits first.

    See the implementation of MENU_FILE_NEW_onclick() in this sample
    for a demonstration how to do this.
  **/

    docComplete = false;
    tbContentElement.LoadURL(URL_VALUE.value);
    tbContentElement.focus();
  }
}

function ZORDER_ABOVETEXT_onclick() {
  tbContentElement.ExecCommand(DECMD_BRING_ABOVE_TEXT, OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function ZORDER_BELOWTEXT_onclick() {
  tbContentElement.ExecCommand(DECMD_SEND_BELOW_TEXT, OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function ZORDER_BRINGFORWARD_onclick() {
  tbContentElement.ExecCommand(DECMD_BRING_FORWARD, OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function ZORDER_BRINGFRONT_onclick() {
  tbContentElement.ExecCommand(DECMD_BRING_TO_FRONT, OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function ZORDER_SENDBACK_onclick() {
  tbContentElement.ExecCommand(DECMD_SEND_TO_BACK, OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function ZORDER_SENDBACKWARD_onclick() {
  tbContentElement.ExecCommand(DECMD_SEND_BACKWARD, OLECMDEXECOPT_DODEFAULT);
  tbContentElement.focus();
}

function TOOLBARS_onclick(toolbar, menuItem) {
  if (toolbar.TBSTATE == "hidden") {
    TBSetState(toolbar, "dockedTop");
    TBSetState(menuItem, "checked");
  } else {
    TBSetState(toolbar, "hidden");
    TBSetState(menuItem, "unchecked");
  }
 
  TBRebuildMenu(menuItem.parentElement, false);

  tbContentElement.focus();
}

function ParagraphStyle_onchange() {   
  tbContentElement.ExecCommand(DECMD_SETBLOCKFMT, OLECMDEXECOPT_DODEFAULT, ParagraphStyle.value);
  tbContentElement.focus();
}

function FontName_onchange() {
  tbContentElement.ExecCommand(DECMD_SETFONTNAME, OLECMDEXECOPT_DODEFAULT, FontName.value);
  tbContentElement.focus();
}

function FontSize_onchange() {
  tbContentElement.ExecCommand(DECMD_SETFONTSIZE, OLECMDEXECOPT_DODEFAULT, parseInt(FontSize.value));
  tbContentElement.focus();
}

function tbContentElement_DocumentComplete() {

    if (initialDocComplete) {
      if (tbContentElement.CurrentDocumentPath == "") {
        URL_VALUE.value = "http://";
    }
    else {
      URL_VALUE.value = tbContentElement.CurrentDocumentPath;
    }
  }

  initialDocComplete = true;
  docComplete = true;
}

//-->
</script>

<script LANGUAGE="javascript" FOR="tbContentElement" EVENT="DisplayChanged">
<!--
return tbContentElement_DisplayChanged()
//-->
</script>

<script LANGUAGE="javascript" FOR="tbContentElement" EVENT="ShowContextMenu">
<!--
return tbContentElement_ShowContextMenu()
//-->
</script>

<script LANGUAGE="javascript" FOR="tbContentElement" EVENT="ContextMenuAction(itemIndex)">
<!--
return tbContentElement_ContextMenuAction(itemIndex)
//-->
</script>

<SCRIPT LANGUAGE=javascript FOR=tbContentElement EVENT=DocumentComplete>
<!--
tbContentElement_DocumentComplete()
//-->
</SCRIPT>
</head>
<body LANGUAGE="javascript" onload="return window_onload()">

<!-- Toolbars -->
<div class="tbToolbar" ID="MenuBar">
  <div class="tbMenu" ID="FILE">
    File
    <div class="tbMenuItem" ID="FILE_OPEN" LANGUAGE="javascript" onclick="return MENU_FILE_OPEN_onclick()">
      Open File...
      <img class="tbIcon" src="./images/open.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="FILE_SAVE" LANGUAGE="javascript" onclick="return MENU_FILE_SAVE_onclick()">
      Save File
      <img class="tbIcon" src="./images/save.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="FILE_SAVEAS" LANGUAGE="javascript" onclick="return MENU_FILE_SAVEAS_onclick()">
      Save File As...
    </div>
  </div>
 
  <div class="tbMenu" ID="EDIT" LANGUAGE="javascript" tbOnMenuShow="return OnMenuShow(QueryStatusEditMenu, EDIT)">
    Edit
    <div class="tbMenuItem" ID="EDIT_UNDO" LANGUAGE="javascript" onclick="return DECMD_UNDO_onclick()">
      Undo
      <img class="tbIcon" src="./images/undo.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="EDIT_REDO" LANGUAGE="javascript" onclick="return DECMD_REDO_onclick()">
      Redo
      <img class="tbIcon" src="./images/redo.gif" WIDTH="23" HEIGHT="22">
    </div>

    <div class="tbSeparator"></div>

    <div class="tbMenuItem" ID="EDIT_CUT" LANGUAGE="javascript" onclick="return DECMD_CUT_onclick()">
      Cut
      <img class="tbIcon" src="./images/cut.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="EDIT_COPY" LANGUAGE="javascript" onclick="return DECMD_COPY_onclick()">
      Copy
      <img class="tbIcon" src="./images/copy.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="EDIT_PASTE" LANGUAGE="javascript" onclick="return DECMD_PASTE_onclick()">
      Paste
      <img class="tbIcon" src="./images/paste.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="EDIT_DELETE" LANGUAGE="javascript" onclick="return DECMD_DELETE_onclick()">
      Delete
      <img class="tbIcon" src="./images/delete.gif" WIDTH="23" HEIGHT="22">
    </div>

    <div class="tbSeparator"></div>
   
    <div class="tbMenuItem" ID="EDIT_SELECTALL" LANGUAGE="javascript" onclick="return DECMD_SELECTALL_onclick()">
      Select All
    </div>

    <div class="tbSeparator"></div>

    <div class="tbMenuItem" ID="EDIT_FINDTEXT" TITLE="Find" LANGUAGE="javascript" onclick="return DECMD_FINDTEXT_onclick()">
      Find...
      <img class="tbIcon" src="./images/find.gif" WIDTH="23" HEIGHT="22">
    </div>
  </div>
 
  <div class="tbMenu" ID="VIEW">
    View
    <div class="tbSubmenu" TBTYPE="toggle" ID="VIEW_TOOLBARS">
      Toolbars
      <div class="tbMenuItem" id="ToolbarMenuStd" TBTYPE="toggle" TBSTATE="checked" ID="TOOLBARS_STANDARD" TBTYPE="toggle" LANGUAGE="javascript" onclick="return TOOLBARS_onclick(StandardToolbar, ToolbarMenuStd)">
        Standard
      </div>
      <div class="tbMenuItem" id="ToolbarMenuFmt" TBTYPE="toggle" TBSTATE="checked" ID="TOOLBARS_FORMAT" TBTYPE="toggle" LANGUAGE="javascript" onclick="return TOOLBARS_onclick(FormatToolbar, ToolbarMenuFmt)">
        Formatting
      </div>
      <div class="tbMenuItem" id="ToolbarMenuAbs" TBTYPE="toggle" TBSTATE="checked" ID="TOOLBARS_ZORDER" TBTYPE="toggle" LANGUAGE="javascript" onclick="return TOOLBARS_onclick(AbsolutePositioningToolbar, ToolbarMenuAbs)">
        Absolute Positioning
      </div>
      <div class="tbMenuItem" id="ToolbarMenuTable" TBTYPE="toggle" TBSTATE="checked" ID="TOOLBARS_TABLE" TBTYPE="toggle" LANGUAGE="javascript" onclick="return TOOLBARS_onclick(TableToolbar, ToolbarMenuTable)">
        Table
      </div>
    </div>
  </div>
 
  <div class="tbMenu" ID="FORMAT" LANGUAGE="javascript" tbOnMenuShow="return OnMenuShow(QueryStatusFormatMenu, FORMAT)">
    Format
    <div class="tbMenuItem" ID="FORMAT_FONT" LANGUAGE="javascript" onclick="return FORMAT_FONT_onclick()">
      Font...
    </div>
 
    <div class="tbSeparator"></div>

    <div class="tbMenuItem" ID="FORMAT_BOLD" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_BOLD_onclick()">
      Bold
      <img class="tbIcon" src="./images/bold.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="FORMAT_ITALIC" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_ITALIC_onclick()">
      Italic
      <img class="tbIcon" src="./images/italic.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="FORMAT_UNDERLINE" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_UNDERLINE_onclick()">
      Underline
      <img class="tbIcon" src="./images/under.gif" WIDTH="23" HEIGHT="22">
    </div>
 
    <div class="tbSeparator"></div>

    <div class="tbMenuItem" ID="FORMAT_SETFORECOLOR" LANGUAGE="javascript" onclick="return DECMD_SETFORECOLOR_onclick()">
      Set Foreground Color...
      <img class="tbIcon" src="./images/fgcolor.GIF" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="FORMAT_SETBACKCOLOR" LANGUAGE="javascript" onclick="return DECMD_SETBACKCOLOR_onclick()">
      Set Background Color...
      <img class="tbIcon" src="./images/bgcolor.gif" WIDTH="23" HEIGHT="22">
    </div>
 
    <div class="tbSeparator"></div>

    <div class="tbMenuItem" ID="FORMAT_JUSTIFYLEFT" TBTYPE="radio" NAME="Justify" LANGUAGE="javascript" onclick="return DECMD_JUSTIFYLEFT_onclick()">
      Align Left
      <img class="tbIcon" src="./images/left.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="FORMAT_JUSTIFYCENTER" TBTYPE="radio" NAME="Justify" LANGUAGE="javascript" onclick="return DECMD_JUSTIFYCENTER_onclick()">
      Center
      <img class="tbIcon" src="./images/center.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="FORMAT_JUSTIFYRIGHT" TBTYPE="radio" NAME="Justify" LANGUAGE="javascript" onclick="return DECMD_JUSTIFYRIGHT_onclick()">
      Align Right
      <img class="tbIcon" src="./images/right.gif" WIDTH="23" HEIGHT="22">
    </div>
  </div> 
 
  <div class="tbMenu" ID="HTML" LANGUAGE="javascript" tbOnMenuShow="return OnMenuShow(QueryStatusHTMLMenu, HTML)">
    HTML
    <div class="tbMenuItem" ID="HTML_HYPERLINK" LANGUAGE="javascript" onclick="return DECMD_HYPERLINK_onclick()">
      Link...
      <img class="tbIcon" src="./images/link.gif" WIDTH="23" HEIGHT="22">
    </div>
    <div class="tbMenuItem" ID="HTML_IMAGE" LANGUAGE="javascript" onclick="return DECMD_IMAGE_onclick()">
      Image...
      <img class="tbIcon" src="./images/image.gif" WIDTH="23" HEIGHT="22">
    </div>

    <div class="tbSeparator"></div>

    <div class="tbSubmenu" ID="HTML_INTRINSICS">
      Intrinsics
      <div class="tbMenuItem" ID="INTRINSICS_TEXTBOX" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;INPUT type=text&gt;')">
        Textbox
      </div>
      <div class="tbMenuItem" ID="INTRINSICS_PASSWRD" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;INPUT type=password&gt;')">
        Password
      </div>
      <div class="tbMenuItem" ID="INTRINSICS_FILE" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;INPUT type=file&gt;')">
        File Field
      </div>
      <div class="tbMenuItem" ID="INTRINSICS_TEXTAREA" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;TEXTAREA rows=2 cols=20&gt;&lt;/TEXTAREA&gt;')">
        Text Area
      </div>

      <div class="tbSeparator"></div>

      <div class="tbMenuItem" ID="INTRINSICS_CHECKBOX" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;INPUT type=checkbox&gt;')">
        Checkbox
      </div>
      <div class="tbMenuItem" ID="INTRINSICS_RADIO" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;INPUT type=radio&gt;')">
        Radio Button
      </div>

      <div class="tbSeparator"></div>

      <div class="tbMenuItem" ID="INTRINSICS_DROPDOWN" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;SELECT&gt;&lt;/SELECT&gt;')">
        Dropdown
      </div>
      <div class="tbMenuItem" ID="INTRINSICS_LISTBOX" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;SELECT size=2&gt;&lt;/SELECT&gt;')">
        Listbox
      </div>

      <div class="tbSeparator"></div>

      <div class="tbMenuItem" ID="INTRINSICS_BUTTON" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;INPUT type=button value=Button&gt;')">
        Button
      </div>
      <div class="tbMenuItem" ID="INTRINSICS_SUBMIT" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;INPUT type=submit value=Submit&gt;')">
        Submit Button
      </div>
      <div class="tbMenuItem" ID="INTRINSICS_RESET" LANGUAGE="javascript" onclick="return INTRINSICS_onclick('&lt;INPUT type=reset value=Reset&gt;')">
        Reset Button
      </div>
    </div>
  </div>
</div>

<div class="tbToolbar" ID="FormatToolbar">
  <select ID="ParagraphStyle" class="tbGeneral" style="width:90" TITLE="Paragraph Format" LANGUAGE="javascript" onchange="return ParagraphStyle_onchange()">
    <option value="Normal">Normal
    <option value="Heading 1">Heading 1
    <option value="Heading 2">Heading 2
    <option value="Heading 3">Heading 3
    <option value="Heading 4">Heading 4
    <option value="Heading 5">Heading 5
    <option value="Heading 6">Heading 6
    <option value="Address">Address
    <option value="Formatted">Formatted
  </select>
  <select ID="FontName" class="tbGeneral" style="width:140" TITLE="Font Name" LANGUAGE="javascript" onchange="return FontName_onchange()">
    <option value="Arial">Arial
    <option value="Tahoma">Tahoma
    <option value="Courier New">Courier New
    <option value="Times New Roman">Times New Roman
    <option value="Wingdings">Wingdings
  </select>
  <select ID="FontSize" class="tbGeneral" style="width:40" TITLE="Font Size" LANGUAGE="javascript" onchange="return FontSize_onchange()">
    <option value="1">1
    <option value="2">2
    <option value="3">3
    <option value="4">4
    <option value="5">5
    <option value="6">6
    <option value="7">7
  </select>
 
  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_BOLD" TITLE="Bold" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_BOLD_onclick()">
    <img class="tbIcon" src="./images/bold.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_ITALIC" TITLE="Italic" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_ITALIC_onclick()">
    <img class="tbIcon" src="./images/italic.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_UNDERLINE" TITLE="Underline" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_UNDERLINE_onclick()">
    <img class="tbIcon" src="./images/under.gif" WIDTH="23" HEIGHT="22">
  </div>
 
  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_SETFORECOLOR" TITLE="Foreground Color" LANGUAGE="javascript" onclick="return DECMD_SETFORECOLOR_onclick()">
    <img class="tbIcon" src="./images/fgcolor.GIF" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_SETBACKCOLOR" TITLE="Background Color" LANGUAGE="javascript" onclick="return DECMD_SETBACKCOLOR_onclick()">
    <img class="tbIcon" src="./images/bgcolor.gif" WIDTH="23" HEIGHT="22">
  </div>
 
  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_JUSTIFYLEFT" TITLE="Align Left" TBTYPE="toggle" NAME="Justify" LANGUAGE="javascript" onclick="return DECMD_JUSTIFYLEFT_onclick()">
    <img class="tbIcon" src="./images/left.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_JUSTIFYCENTER" TITLE="Center" TBTYPE="toggle" NAME="Justify" LANGUAGE="javascript" onclick="return DECMD_JUSTIFYCENTER_onclick()">
    <img class="tbIcon" src="./images/center.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_JUSTIFYRIGHT" TITLE="Align Right" TBTYPE="toggle" NAME="Justify" LANGUAGE="javascript" onclick="return DECMD_JUSTIFYRIGHT_onclick()">
    <img class="tbIcon" src="./images/right.gif" WIDTH="23" HEIGHT="22">
  </div>

  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_ORDERLIST" TITLE="Numbered List" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_ORDERLIST_onclick()">
    <img class="tbIcon" src="./images/numlist.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_UNORDERLIST" TITLE="Bulletted List" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_UNORDERLIST_onclick()">
    <img class="tbIcon" src="./images/bullist.gif" WIDTH="23" HEIGHT="22">
  </div>
 
  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_OUTDENT" TITLE="Decrease Indent" LANGUAGE="javascript" onclick="return DECMD_OUTDENT_onclick()">
    <img class="tbIcon" src="./images/deindent.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_INDENT" TITLE="Increase Indent" LANGUAGE="javascript" onclick="return DECMD_INDENT_onclick()">
    <img class="tbIcon" src="./images/inindent.GIF" WIDTH="23" HEIGHT="22">
  </div>

  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_HYPERLINK" TITLE="Link" LANGUAGE="javascript" onclick="return DECMD_HYPERLINK_onclick()">
    <img class="tbIcon" src="./images/link.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_IMAGE" TITLE="Insert Image" LANGUAGE="javascript" onclick="return DECMD_IMAGE_onclick()">
    <img class="tbIcon" src="./images/image.gif" WIDTH="23" HEIGHT="22">
  </div>
</div>

<div class="tbToolbar" ID="StandardToolbar">
  <div class="tbGeneral" ID="URL_LABEL" TITLE="Enter URL" style="top:6; width:27; FONT-FAMILY: ms sans serif; FONT-SIZE: 10px;">
    URL:
  </div>
  <input type="text" class="tbGeneral" ID="URL_VALUE" TITLE="Enter URL" value="http://" style="width:200" LANGUAGE="javascript" onkeypress="return URL_VALUE_onkeypress()">

  <div class="tbSeparator"></div>

  <div class="tbButton" ID="MENU_FILE_NEW" TITLE="New File" LANGUAGE="javascript" onclick="return MENU_FILE_NEW_onclick()">
    <img class="tbIcon" src="./images/newdoc.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="MENU_FILE_OPEN" TITLE="Open File" LANGUAGE="javascript" onclick="return MENU_FILE_OPEN_onclick()">
    <img class="tbIcon" src="./images/open.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="MENU_FILE_SAVE" TITLE="Save File" LANGUAGE="javascript" onclick="return MENU_FILE_SAVE_onclick()">
    <img class="tbIcon" src="./images/save.gif" WIDTH="23" HEIGHT="22">
  </div>
 
  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_CUT" TITLE="Cut" LANGUAGE="javascript" onclick="return DECMD_CUT_onclick()">
    <img class="tbIcon" src="./images/cut.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_COPY" TITLE="Copy" LANGUAGE="javascript" onclick="return DECMD_COPY_onclick()">
    <img class="tbIcon" src="./images/copy.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_PASTE" TITLE="Paste" LANGUAGE="javascript" onclick="return DECMD_PASTE_onclick()">
    <img class="tbIcon" src="./images/paste.gif" WIDTH="23" HEIGHT="22">
  </div>

  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_UNDO" TITLE="Undo" LANGUAGE="javascript" onclick="return DECMD_UNDO_onclick()">
    <img class="tbIcon" src="./images/undo.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_REDO" TITLE="Redo" LANGUAGE="javascript" onclick="return DECMD_REDO_onclick()">
    <img class="tbIcon" src="./images/redo.gif" WIDTH="23" HEIGHT="22">
  </div>

  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_FINDTEXT" TITLE="Find" LANGUAGE="javascript" onclick="return DECMD_FINDTEXT_onclick()">
    <img class="tbIcon" src="./images/find.gif" WIDTH="23" HEIGHT="22">
  </div>
</div>

<div class="tbToolbar" ID="AbsolutePositioningToolbar">
  <div class="tbButton" ID="DECMD_VISIBLEBORDERS" TITLE="Visible Borders" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_VISIBLEBORDERS_onclick()">
    <img class="tbIcon" src="./images/borders.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_SHOWDETAILS" TITLE="Show Details" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_SHOWDETAILS_onclick()">
    <img class="tbIcon" src="./images/details.gif" WIDTH="23" HEIGHT="22">
  </div>
 
  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_MAKE_ABSOLUTE" TBTYPE="toggle" LANGUAGE="javascript" TITLE="Make Absolute" onclick="return DECMD_MAKE_ABSOLUTE_onclick()">
    <img class="tbIcon" src="./images/abspos.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_LOCK_ELEMENT" TBTYPE="toggle" LANGUAGE="javascript" TITLE="Lock" onclick="return DECMD_LOCK_ELEMENT_onclick()">
    <img class="tbIcon" src="./images/lock.gif" WIDTH="23" HEIGHT="22">
  </div>
 
  <div class="tbSeparator"></div>
 
  <div class="tbMenu" ID="ZORDER" LANGUAGE="javascript" tbOnMenuShow="return OnMenuShow(QueryStatusZOrderMenu, ZORDER)">
  Z Order
    <div class="tbMenuItem" ID="ZORDER_BRINGFRONT" LANGUAGE="javascript" onclick="return ZORDER_BRINGFRONT_onclick()">
      Bring to Front
    </div>
    <div class="tbMenuItem" ID="ZORDER_SENDBACK" LANGUAGE="javascript" onclick="return ZORDER_SENDBACK_onclick()">
      Send to Back
    </div>

    <div class="tbSeparator"></div>

    <div class="tbMenuItem" ID="ZORDER_BRINGFORWARD" LANGUAGE="javascript" onclick="return ZORDER_BRINGFORWARD_onclick()">
      Bring Forward
    </div>
    <div class="tbMenuItem" ID="ZORDER_SENDBACKWARD" LANGUAGE="javascript" onclick="return ZORDER_SENDBACKWARD_onclick()">
      Send Backward
    </div>

    <div class="tbSeparator"></div>

    <div class="tbMenuItem" ID="ZORDER_BELOWTEXT" LANGUAGE="javascript" onclick="return ZORDER_BELOWTEXT_onclick()">
      Below Text
    </div>
    <div class="tbMenuItem" ID="ZORDER_ABOVETEXT" LANGUAGE="javascript" onclick="return ZORDER_ABOVETEXT_onclick()">
      Above Text
    </div>
  </div>
 
  <div class="tbSeparator"></div>
 
  <div class="tbButton" ID="DECMD_SNAPTOGRID" TITLE="Snap to Grid" TBTYPE="toggle" LANGUAGE="javascript" onclick="return DECMD_SNAPTOGRID_onclick()">
    <img class="tbIcon" src="./images/snapgrid.gif" WIDTH="23" HEIGHT="22">
  </div>
</div>

<div class="tbToolbar" ID="TableToolbar">
  <div class="tbButton" ID="DECMD_INSERTTABLE" TITLE="Insert Table" LANGUAGE="javascript" onclick="return TABLE_INSERTTABLE_onclick()">
    <img class="tbIcon" src="./images/instable.gif" WIDTH="23" HEIGHT="22">
  </div>

  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_INSERTROW" TITLE="Insert Row" LANGUAGE="javascript" onclick="return TABLE_INSERTROW_onclick()">
    <img class="tbIcon" src="./images/insrow.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_DELETEROWS" TITLE="Delete Rows" LANGUAGE="javascript" onclick="return TABLE_DELETEROW_onclick()">
    <img class="tbIcon" src="./images/delrow.gif" WIDTH="23" HEIGHT="22">
  </div>

  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_INSERTCOL" TITLE="Insert Column" LANGUAGE="javascript" onclick="return TABLE_INSERTCOL_onclick()">
    <img class="tbIcon" src="./images/inscol.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_DELETECOLS" TITLE="Delete Columns" LANGUAGE="javascript" onclick="return TABLE_DELETECOL_onclick()">
    <img class="tbIcon" src="./images/delcol.gif" WIDTH="23" HEIGHT="22">
  </div>
 
  <div class="tbSeparator"></div>

  <div class="tbButton" ID="DECMD_INSERTCELL" TITLE="Insert Cell" LANGUAGE="javascript" onclick="return TABLE_INSERTCELL_onclick()">
    <img class="tbIcon" src="./images/inscell.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_DELETECELLS" TITLE="Delete Cells" LANGUAGE="javascript" onclick="return TABLE_DELETECELL_onclick()">
    <img class="tbIcon" src="./images/delcell.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_MERGECELLS" TITLE="Merge Cells" LANGUAGE="javascript" onclick="return TABLE_MERGECELL_onclick()">
    <img class="tbIcon" src="./images/mrgcell.gif" WIDTH="23" HEIGHT="22">
  </div>
  <div class="tbButton" ID="DECMD_SPLITCELL" TITLE="Split Cells" LANGUAGE="javascript" onclick="return TABLE_SPLITCELL_onclick()">
    <img class="tbIcon" src="./images/spltcell.gif" WIDTH="23" HEIGHT="22">
  </div>
</div>

<!-- DHTML Editing control Object. This will be the body object for the toolbars. -->
<object ID="tbContentElement" CLASS="tbContentElement" CLASSID="clsid:2D360200-FFF5-11D1-8D03-00A0C959BC0A" VIEWASTEXT>
  <param name=Scrollbars value=true>
</object>

<!-- DEInsertTableParam Object -->
<object ID="ObjTableInfo" CLASSID="clsid:47B0DFC7-B7A3-11D1-ADC5-006008A5848C" VIEWASTEXT>
</object>

<!-- DEGetBlockFmtNamesParam Object -->
<object ID="ObjBlockFormatInfo" CLASSID="clsid:8D91090E-B955-11D1-ADC5-006008A5848C" VIEWASTEXT>
</object>

<!-- Toolbar Code File. Note: This must always be the last thing on the page -->
<script LANGUAGE="Javascript" SRC="./Toolbars/toolbars.js">
</script>
<script LANGUAGE="Javascript">
  tbScriptletDefinitionFile = "./Toolbars/menubody.htm";
</script>
<script LANGUAGE="Javascript" SRC="./Toolbars/tbmenus.js">
</script>

</body>

</html>

<form action="save.asp" method="post" name="MyForm" id="MyForm">
<script language="JavaScript">
function MySave() {
htmlsource = tbContentElement.DocumentHTML
MyForm.src.value=htmlsource;
document.MyForm.submit();
}

</script>
<input type="hidden" name="src" value="">
</form>
*********************slut fulledit.htm***********************


*********************start save.asp***************************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>




<%
dim htmlsource
htmlsource = request.Form("src")

response.write "Her er den genererede html:<br>"
response.write  htmlsource
%>

</body>
</html>

*********************slut save.asp***********************
Avatar billede jnissen Nybegynder
03. juni 2002 - 11:02 #27
Det virker desværre ikke. Siden bliver ikke vist rigtigt.
Se her: http://www.iteax.dk/Oedit/dhtmsamp/samples/web/webedit/fulledit.htm

Skal jeg så selv i save.asp gøre sådan at det bliver gemt i en database?
Kan fulledit.htm ikke hente indholdet fra en database også?
Fx sådan: fulledit.asp?id=1?
Avatar billede dk_akj Nybegynder
03. juni 2002 - 21:05 #28
Har du installeret "DHTML Editing control Object" på webserveren ??
Altså downloadet til serveren og installeret på den ??
//akj
Avatar billede jnissen Nybegynder
03. juni 2002 - 21:14 #29
Ja, det har jeg gjort. Jeg gik ind på http://msdn.microsoft.com/downloads/samples/Internet/browser/editcntrl/ og så downlaod, så blev det automatisk installeret.

Er der mere end det man skal gøre?
Avatar billede dk_akj Nybegynder
03. juni 2002 - 21:17 #30
Prøv lige at downloade "alm" og installer det.

//akj

Det virker fint hos mig.
Avatar billede jnissen Nybegynder
03. juni 2002 - 21:19 #31
ok - det prøver jeg lige.
Avatar billede jnissen Nybegynder
03. juni 2002 - 21:26 #32
Det gør desværre ingen forskel.
Avatar billede dk_akj Nybegynder
03. juni 2002 - 21:38 #33
Jeg har lige prøvet at installere den en gang til her er resultatet.
http://surfsms.dk/sample/test.htm

Hvilken server har du ?? Din side ser meget mystisk ud.
Avatar billede jnissen Nybegynder
03. juni 2002 - 21:46 #34
Min server er en windows 2000-server.

Jeg kan lige prøve din kode igen.

Det jeg gør at jeg tager den mappe som bliver lavet, og trækker en kopi over i mit websted, så finder jeg fulledit og ændre koden, og oprette filen save.asp. Det udgiver jeg så på serveren.

Er det helt forkert?
Avatar billede jnissen Nybegynder
03. juni 2002 - 21:50 #35
http://www.iteax.dk/Oedit/dhtmsamp/samples/web/webedit/2fulledit.htm ---- det er den rigtigt kode, som jeg ikke har rørt ved. Den vises jo godt nok.
Avatar billede dk_akj Nybegynder
03. juni 2002 - 21:50 #36
Det jeg gjorde i min anden test var at downloade sample.zip
Den pakkede jeg ud i subfolder (sample) til den folder hvor jeg har mit website.

Derefter ændrede jeg i den fulledit der så i roden af sample og oprettede save.asp

//akj
Avatar billede dk_akj Nybegynder
03. juni 2002 - 21:56 #37
Prøv lige at lægge disse 2 filer ind.
http://surfsms.dk/sample/test.zip

//akj
Avatar billede jnissen Nybegynder
03. juni 2002 - 22:01 #38
Avatar billede dk_akj Nybegynder
03. juni 2002 - 22:18 #39
Her er hele min struktur.
http://surfsms.dk/sample/sample.zip

Hos mig virker det sådan.
http://surfsms.dk/sample/test.htm
Kan du se det ??

//akj
Avatar billede jnissen Nybegynder
03. juni 2002 - 22:22 #40
Dit første link virker ikke.

Ja jeg kan godt se det, men det virker ikke. Du kan ikke bruge knapperne.

Jeg har fundet ud af grunden til den blev vist sådan. Det var de forskellige stier til filer og billeder. Dem er jeg igang med at rette.
Avatar billede jnissen Nybegynder
03. juni 2002 - 22:24 #41
Nu fik jeg http://www.iteax.dk/Oedit/dhtmsamp/samples/web/webedit/test.htm til at virke. Men knapperne virker ikke.
Avatar billede dk_akj Nybegynder
04. juni 2002 - 22:12 #42
ahh den hedder test.zip
http://surfsms.dk/sample/test.zip
Avatar billede jnissen Nybegynder
04. juni 2002 - 22:48 #43
Test.zip, det er kun de 2 filer.
Skulle det ikke være hele din struktur?
Avatar billede dk_akj Nybegynder
04. juni 2002 - 22:59 #44
læg de 2 filer i folderen i niveauet over images.
Avatar billede jnissen Nybegynder
07. juni 2002 - 17:55 #45
Hej - undskyld jeg først svarer nu.

Jeg har lagt dine filer over images. Det kan ses her:
http://www.iteax.dk/Oedit/dhtmsamp/samples/web/test.htm

Det ser jo rigtigt ud, men værktøjslinien virker ikke. Hvorfor ikke - ved du det?
Avatar billede jnissen Nybegynder
18. juli 2002 - 14:33 #46
Hej.

Jeg vil blot høre om du har opgivet det?

Hvis det er som du ikke har lyst til at lave det for point, så sig bare til, så finder vi ud af det.
Avatar billede dk_akj Nybegynder
20. juli 2002 - 21:46 #47
Hejsa og ups,  jeg er lige kommet fra ferie så jeg har ikke set dit spørgsmål.

Når jeg klikker på det sidste link du har lavet ser det fint ud for mig og gem knappen genererer også den HTML den skal.

//akj
Avatar billede jnissen Nybegynder
29. august 2002 - 00:43 #48
Hej og også ups her fra :-). Jeg havde ikke set du havde svaret, så jeg havde glemt det igen :-)

Men det sidste link virker ikke hos mig. Knapper virker ikke, teksten bliver ikke formateret.

Der mangler også den del som skal gemme i databasen.

Er du stadig frisk?
Avatar billede dk_akj Nybegynder
29. august 2002 - 08:56 #49
Prøv denne "demo":
http://www.swk-surf.dk/exp/index.asp

Du kan se filstrukturen her:
http://www.swk-surf.dk/exp/

Og downloade alle asp filer mm her:
www.swk-surf.dk/exp/temp.zip

Husk at du evt, skal tilføje http://*.swk-surf.dk til dine trustede sites i IE.

//akj
Avatar billede dk_akj Nybegynder
29. august 2002 - 08:58 #50
Forresten, connect.asp peger på en exp.mdb som ligger i en anden folder, det skyldes at der ikke er skriverettigheder i exp folderen.
Best.mdb som ligger i /exp folderen er en kopi af exp.mdb.

//akj
Avatar billede jnissen Nybegynder
29. august 2002 - 09:43 #51
Det virker desværre stadig ikke helt. Jeg har prøvet at downlaode det og ligge det på min server, men knapperne virker stadig ikke, og hvis jeg vælger at redigere en side, så indsætter den ikke teksten i skrivefeltet.

Er det mig som er snotdum, og gør noget forkert? :-)
Avatar billede dk_akj Nybegynder
29. august 2002 - 09:44 #52
hvilken browser bruger du ??
Hvad hedder dit site ??

//akj
Avatar billede jnissen Nybegynder
29. august 2002 - 09:46 #53
Avatar billede pelkjaer Nybegynder
29. august 2002 - 09:48 #54
I skulle *kraftigt* overveje at bruge en javascript version istedet for den der activex version.

Det holder ikke at man skal downloade plug, og endvidere giver activex editore ofte uprovokerede fejl.
Avatar billede jnissen Nybegynder
29. august 2002 - 09:52 #55
pelkjaer-> Kender du en editor som er lige så god i javascript?

Skal alle have en plug for at bruge det, eller er det bare på serveren?
Avatar billede dk_akj Nybegynder
29. august 2002 - 09:52 #56
jnissen, har lige prøvet dit link, det virker fint for mig, både opret og rediger.
Jeg tror du skal kigge på dine sikkerhedsinstillinger under trustede sites.

//akj
Avatar billede jnissen Nybegynder
29. august 2002 - 09:57 #57
Det var pokkers - nu virker det :-D

Men skal alle så gøre det for at bruge det? Og den fil du linker til, gør den det samme, eller hvad gør den?
Avatar billede dk_akj Nybegynder
29. august 2002 - 09:59 #58
Browseren skal selvfølgeligt tillade at der køres activex'er, og det er op til den enkelte bruger at sørge for de rette indstillinger.

Hvilken fil mener du ??

//akj
Avatar billede jnissen Nybegynder
29. august 2002 - 10:03 #59
Okay.

Jeg snakker om filen: add_trusted_swksurf.vbs
Avatar billede dk_akj Nybegynder
29. august 2002 - 10:07 #60
Ja, den retter i registry. Du skal bare rette domainnavnet overst i filen.

//akj
Avatar billede jnissen Nybegynder
29. august 2002 - 10:09 #61
Okay, mange tak.

Det er jo bare dejligt at det kom til at virke.

Er du tilfreds med point, eller skal vi finde ud af noget mere?
Avatar billede dk_akj Nybegynder
29. august 2002 - 10:11 #62
Jeg er fint tilfreds, og glad for at kunne hjælpe :o)
Man lærer jo også selv noget ved det.

//akj
Avatar billede jnissen Nybegynder
29. august 2002 - 10:14 #63
Jamen okay. Så takker og bukker jeg rigtig mange gange.

Tak for din store hjælp, og ikke mindst tålmodighed :-)
Avatar billede dk_akj Nybegynder
29. august 2002 - 10:14 #64
Held og lykke med projektet

//akj
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
Kurser inden for grundlæggende programmering

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