Avatar billede i-o-i Nybegynder
03. juni 2002 - 14:47 Der er 8 kommentarer

Redigerings Panel

Hej,

Jeg skal bruge i min nyheds admin en redigerings panle til tekst har set flere steder f.eks. hotmail.com (Rich txt) men ved ikke hvor man kan downloade koden.

på forhånd tak!

//i-o-i
Avatar billede Slettet bruger
03. juni 2002 - 14:49 #1
Altså hvor man kan vælge tekstfarve, skrifttype, osv. på teksten?
Avatar billede i-o-i Nybegynder
03. juni 2002 - 14:50 #2
ligepræcis
Avatar billede Slettet bruger
03. juni 2002 - 14:55 #3
Jeg nørkler med et større projekt til en anden lejlighed her:

http://www.friserverplads.dk/minpromillen/wysiwyg.php

Det er ikke færdigt endnu, men måske kunne du bruge noget af det?
Avatar billede i-o-i Nybegynder
03. juni 2002 - 21:05 #4
hej igen
din script er fint nok men den er alt for stor til min admin nu har jeg selv fundet en men der noget der skal laves om på. Den vil ikke virke sammen med en textarea, den bruger istedet for IFRAME men hvordan få jeg den til at virke sammen med en textarea?

mange tusind tak!
Avatar billede i-o-i Nybegynder
03. juni 2002 - 21:06 #5
her er koden:

<html>
<head>
<title> Browser Based HTML Editor </title>
<script language="JavaScript">

  var viewMode = 1; // WYSIWYG

  function Init()
  {
    iView.document.designMode = 'On';
  }
 
  function selOn(ctrl)
  {
    ctrl.style.borderColor = '#000000';
    ctrl.style.backgroundColor = '#B5BED6';
    ctrl.style.cursor = 'hand';   
  }
 
  function selOff(ctrl)
  {
    ctrl.style.borderColor = '#D6D3CE'; 
    ctrl.style.backgroundColor = '#D6D3CE';
  }
 
  function selDown(ctrl)
  {
    ctrl.style.backgroundColor = '#8492B5';
  }
 
  function selUp(ctrl)
  {
    ctrl.style.backgroundColor = '#B5BED6';
  }
   
  function doBold()
  {
    iView.document.execCommand('bold', false, null);
  }

  function doItalic()
  {
    iView.document.execCommand('italic', false, null);
  }

  function doUnderline()
  {
    iView.document.execCommand('underline', false, null);
  }
 
  function doLeft()
  {
    iView.document.execCommand('justifyleft', false, null);
  }

  function doCenter()
  {
    iView.document.execCommand('justifycenter', false, null);
  }

  function doRight()
  {
    iView.document.execCommand('justifyright', false, null);
  }

  function doOrdList()
  {
    iView.document.execCommand('insertorderedlist', false, null);
  }

  function doBulList()
  {
    iView.document.execCommand('insertunorderedlist', false, null);
  }
 
  function doForeCol()
  {
    var fCol = prompt('Enter foreground color', '');
   
    if(fCol != null)
      iView.document.execCommand('forecolor', false, fCol);
  }

  function doBackCol()
  {
    var bCol = prompt('Enter background color', '');
   
    if(bCol != null)
      iView.document.execCommand('backcolor', false, bCol);
  }

  function doLink()
  {
    iView.document.execCommand('createlink');
  }
 
  function doImage()
  {
    var imgSrc = prompt('Enter image location', '');
   
    if(imgSrc != null)   
    iView.document.execCommand('insertimage', false, imgSrc);
  }
 
  function doRule()
  {
    iView.document.execCommand('inserthorizontalrule', false, null);
  }
 
  function doFont(fName)
  {
    if(fName != '')
      iView.document.execCommand('fontname', false, fName);
  }
 
  function doSize(fSize)
  {
    if(fSize != '')
      iView.document.execCommand('fontsize', false, fSize);
  }
 
  function doHead(hType)
  {
    if(hType != '')
    {
      iView.document.execCommand('formatblock', false, hType); 
      doFont(selFont.options[selFont.selectedIndex].value);
    }
  }
 
  function doToggleView()
  { 
    if(viewMode == 1)
    {
      iHTML = iView.document.body.innerHTML;
      iView.document.body.innerText = iHTML;
     
      // Hide all controls
      tblCtrls.style.display = 'none';
      selFont.style.display = 'none';
      selSize.style.display = 'none';
      selHeading.style.display = 'none';
      iView.focus();
     
      viewMode = 2; // Code
    }
    else
    {
      iText = iView.document.body.innerText;
      iView.document.body.innerHTML = iText;
     
      // Show all controls
      tblCtrls.style.display = 'inline';
      selFont.style.display = 'inline';
      selSize.style.display = 'inline';
      selHeading.style.display = 'inline';
      iView.focus();
     
      viewMode = 1; // WYSIWYG
    }
  }

</script>
<style>

  .butClass
  {   
    border: 1px solid;
    border-color: #D6D3CE;
  }
 
  .tdClass
  {
    padding-left: 3px;
    padding-top:3px;
  }

</style>

<body onLoad="Init()">
    <table id="tblCtrls" width="415px" height="30px" border="0" cellspacing="0" cellpadding="0" bgcolor="#D6D3CE">   
    <tr>
        <td class="tdClass">
            <img alt="Bold" class="butClass" src="bold.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doBold()">
            <img alt="Italic" class="butClass" src="italic.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doItalic()">
            <img alt="Underline" class="butClass" src="underline.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doUnderline()">
           
            <img alt="Left" class="butClass" src="left.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doLeft()">
            <img alt="Center" class="butClass" src="center.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doCenter()">
            <img alt="Right" class="butClass" src="right.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doRight()">
                       
            <img alt="Ordered List" class="butClass" src="ordlist.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doOrdList()">
            <img alt="Bulleted List" class="butClass" src="bullist.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doBulList()">
           
            <img alt="Text Color" class="butClass" src="forecol.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doForeCol()">
            <img alt="Background Color" class="butClass" src="bgcol.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doBackCol()">
           
            <img alt="Hyperlink" class="butClass" src="link.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doLink()">
            <img alt="Image" class="butClass" src="image.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doImage()">
            <img alt="Horizontal Rule" class="butClass" src="rule.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doRule()">
           
        </td>
    </tr>
    </table>
    <iframe id="iView" style="width: 415px; height:205px"></iframe>

    <table width="415px" height="30px" border="0" cellspacing="0" cellpadding="0" bgcolor="#D6D3CE">   
    <tr>
        <td class="tdClass" colspan="1" width="80%">
          <select name="selFont" onChange="doFont(this.options[this.selectedIndex].value)">
            <option value="">-- Font --</option>
            <option value="Arial">Arial</option>
            <option value="Courier">Courier</option>
            <option value="Sans Serif">Sans Serif</option>
            <option value="Tahoma">Tahoma</option>
            <option value="Verdana">Verdana</option>
            <option value="Wingdings">Wingdings</option>
          </select>
          <select name="selSize" onChange="doSize(this.options[this.selectedIndex].value)">
            <option value="">-- Size --</option>
            <option value="1">Very Small</option>
            <option value="2">Small</option>
            <option value="3">Medium</option>
            <option value="4">Large</option>
            <option value="5">Larger</option>
            <option value="6">Very Large</option>
          </select>
          <select name="selHeading" onChange="doHead(this.options[this.selectedIndex].value)">
            <option value="">-- Heading --</option>
            <option value="Heading 1">H1</option>
            <option value="Heading 2">H2</option>
            <option value="Heading 3">H3</option>
            <option value="Heading 4">H4</option>
            <option value="Heading 5">H5</option>
            <option value="Heading 6">H6</option>
          </select>
        </td>
        <td class="tdClass" colspan="1" width="20%" align="right">
          <img alt="Toggle Mode" class="butClass" src="mode.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="doToggleView()">
          &nbsp;&nbsp;&nbsp;
        </td>
    </tr>
    </table>
</body>
</html>
Avatar billede i-o-i Nybegynder
04. juni 2002 - 00:44 #6
kan nogen hjælpe mig...?
Avatar billede atn Nybegynder
04. juni 2002 - 01:00 #7
Heysa !

Alle de muligheder har du ikke med en <textare> da den ikke understøtter alle de der styles...

Så du kan desværre ikke køre koden på en <textarea>...

Jeg ville beholde den løsning du har der....og så scalere den lidt ned til det behov du har...

Venligst

<ATN/>
Avatar billede Slettet bruger
04. juni 2002 - 15:57 #8
Ja, hele idéen med det hele er, at det er et iframe. Men som jeg sagde, kan jeg sagtens korte mit eksempel ned til dit behov, hvis du bare fortæller, hvad du præcist skal 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