1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<!-- 3 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 4 * Copyright (C) 2003-2007 Frederico Caldeira Knabben 5 * 6 * == BEGIN LICENSE == 7 * 8 * Licensed under the terms of any of the following licenses at your 9 * choice: 10 * 11 * - GNU General Public License Version 2 or later (the "GPL") 12 * http://www.gnu.org/licenses/gpl.html 13 * 14 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 15 * http://www.gnu.org/licenses/lgpl.html 16 * 17 * - Mozilla Public License Version 1.1 or later (the "MPL") 18 * http://www.mozilla.org/MPL/MPL-1.1.html 19 * 20 * == END LICENSE == 21 * 22 * Sample page. 23--> 24<html xmlns="http://www.w3.org/1999/xhtml"> 25<head> 26 <title>FCKeditor - Sample</title> 27 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 28 <meta name="robots" content="noindex, nofollow" /> 29 <link href="../sample.css" rel="stylesheet" type="text/css" /> 30 <script type="text/javascript" src="../../fckeditor.js"></script> 31 <script type="text/javascript"> 32 33function Toggle() 34{ 35 // Try to get the FCKeditor instance, if available. 36 var oEditor ; 37 if ( typeof( FCKeditorAPI ) != 'undefined' ) 38 oEditor = FCKeditorAPI.GetInstance( 'DataFCKeditor' ) ; 39 40 // Get the _Textarea and _FCKeditor DIVs. 41 var eTextareaDiv = document.getElementById( 'Textarea' ) ; 42 var eFCKeditorDiv = document.getElementById( 'FCKeditor' ) ; 43 44 // If the _Textarea DIV is visible, switch to FCKeditor. 45 if ( eTextareaDiv.style.display != 'none' ) 46 { 47 // If it is the first time, create the editor. 48 if ( !oEditor ) 49 { 50 CreateEditor() ; 51 } 52 else 53 { 54 // Set the current text in the textarea to the editor. 55 oEditor.SetData( document.getElementById('DataTextarea').value ) ; 56 } 57 58 // Switch the DIVs display. 59 eTextareaDiv.style.display = 'none' ; 60 eFCKeditorDiv.style.display = '' ; 61 62 // This is a hack for Gecko 1.0.x ... it stops editing when the editor is hidden. 63 if ( oEditor && !document.all ) 64 { 65 if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG ) 66 oEditor.MakeEditable() ; 67 } 68 } 69 else 70 { 71 // Set the textarea value to the editor value. 72 document.getElementById('DataTextarea').value = oEditor.GetXHTML() ; 73 74 // Switch the DIVs display. 75 eTextareaDiv.style.display = '' ; 76 eFCKeditorDiv.style.display = 'none' ; 77 } 78} 79 80function CreateEditor() 81{ 82 // Copy the value of the current textarea, to the textarea that will be used by the editor. 83 document.getElementById('DataFCKeditor').value = document.getElementById('DataTextarea').value ; 84 85 // Automatically calculates the editor base path based on the _samples directory. 86 // This is usefull only for these samples. A real application should use something like this: 87 // oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. 88 var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ; 89 90 // Create an instance of FCKeditor (using the target textarea as the name). 91 var oFCKeditor = new FCKeditor( 'DataFCKeditor' ) ; 92 oFCKeditor.BasePath = sBasePath ; 93 oFCKeditor.Width = '100%' ; 94 oFCKeditor.Height = '350' ; 95 oFCKeditor.ReplaceTextarea() ; 96} 97 98// The FCKeditor_OnComplete function is a special function called everytime an 99// editor instance is completely loaded and available for API interactions. 100function FCKeditor_OnComplete( editorInstance ) 101{ 102 // Enable the switch button. It is disabled at startup, waiting the editor to be loaded. 103 document.getElementById('BtnSwitchTextarea').disabled = false ; 104} 105 106function PrepareSave() 107{ 108 // If the textarea isn't visible update the content from the editor. 109 if ( document.getElementById( 'Textarea' ).style.display == 'none' ) 110 { 111 var oEditor = FCKeditorAPI.GetInstance( 'DataFCKeditor' ) ; 112 document.getElementById( 'DataTextarea' ).value = oEditor.GetXHTML() ; 113 } 114} 115 116 </script> 117</head> 118<body> 119 <h1> 120 FCKeditor - JavaScript - Sample 13 121 </h1> 122 <div> 123 This sample starts with a normal textarea and provides the ability to switch back 124 and forth between the textarea and FCKeditor. It uses the JavaScript API to do the 125 operations so it will work even if the internal implementation changes. 126 </div> 127 <hr /> 128 <form action="sampleposteddata.asp" method="post" target="_blank" onsubmit="PrepareSave();"> 129 <div id="Textarea"> 130 <input type="button" value="Switch to FCKeditor" onclick="Toggle()" /> 131 <br /> 132 <br /> 133 <textarea id="DataTextarea" name="Data" cols="80" rows="20" style="width: 95%">This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</textarea> 134 </div> 135 <div id="FCKeditor" style="display: none"> 136 <!-- Note that the following button is disabled at startup. 137 It will be enabled once the editor is completely loaded. --> 138 <input id="BtnSwitchTextarea" type="button" disabled="disabled" value="Switch to Textarea" onclick="Toggle()" /> 139 <br /> 140 <br /> 141 <!-- Note that the following textarea doesn't have a "name", so it will not be posted. --> 142 <textarea id="DataFCKeditor" cols="80" rows="20"></textarea> 143 </div> 144 <br /> 145 <input type="submit" value="Submit" /> 146 </form> 147</body> 148</html> 149