HTML在線編輯器不需要懂得使用Dreamweaver,會用Word就會使用此編輯器,在文章系統(tǒng)或者是新聞系統(tǒng)需要文字編輯的web程序中非常實(shí)用。 但是如何將html編輯器嵌入到web頁中和怎么取得里面的數(shù)據(jù)呢?! 首先我們假定我們所要調(diào)用得HTML在線編輯器放在一個單獨(dú)得頁面中,文件名是gledit.htm。 HTML在線編輯器有兩種基本調(diào)用方法 一、使用object調(diào)用: 1、怎么在web頁中嵌入html編輯器: 我們在需要嵌入得位置加入以下html代碼:<object id=doc_html data="gledit.htm" width=530 height=320 type=text/x-scriptlet VIEWASTEXT></object> 其中object標(biāo)簽里面得data后面接得數(shù)據(jù)就是我們所要調(diào)用得在線編輯器頁得路徑,id就是我們調(diào)用object得id,后面取編輯器中得數(shù)據(jù)時就要用到這個id。Width和height就是編輯器得高度和寬度了。 2、怎么取得html編輯器中的數(shù)據(jù):所有需要提交的內(nèi)容我們都是放在一個表單里面,同樣利用object調(diào)用的編輯器也放在這個表單里面,同時我們可以設(shè)置一個隱藏的文本區(qū)域(<textarea name="content" style="display:none"></textarea>或<INPUT TYPE="hidden" name="content">)用以在提交的時候臨時保存html在線編輯器的數(shù)據(jù),因?yàn)樵赼sp或者jsp,php中不能直接獲取表單中的object的內(nèi)容,所以我們必須借助隱藏文本區(qū)域來獲取數(shù)據(jù)。我們在表單提交的同時將object里面的內(nèi)容復(fù)制到隱藏的文本區(qū)域中。詳細(xì)代碼如下: <script language="javascript"> function CheckForm() { document.form1.content.value=document.form1.doc_html.value; } </script> <form method="post" action="add_news_save.asp" onsubmit="CheckForm()" name="form1"> <object id=doc_html name= doc_html style="LEFT: 0px; TOP: 0px" data=" gledit.htm" width=530 height=320 type=text/x-scriptlet VIEWASTEXT></object> <input type="hidden" name="content" > </form> 這樣在后臺處理的頁面中我們就可以直接通過取隱西藏域content的數(shù)據(jù)來獲取html在線編輯器的數(shù)據(jù)。 3、怎么在文本編輯器中加入上傳本機(jī)圖片到html在線編輯器中:首先我們使得在點(diǎn)擊插入圖片的按鈕時彈出一個上傳圖片的窗口,我們利用自己寫的程序來實(shí)現(xiàn)上傳本機(jī)圖片到服務(wù)器上,然后我們需要記錄圖片的路徑,然后通過html在線編輯器的值中加入顯示圖片的html標(biāo)簽。詳細(xì)說明及代碼如下: 在編輯器中我們在插入圖片的按鈕上加入事件onclick="window.open("img_upload.asp","img_upload","width=481 height=190")">在"img_upload.asp"中我們將提交的圖片上傳到服務(wù)器制定目錄然后記錄圖片路徑 <script language=javascript> var src="<%="upload/"&newname%>"; opener.form1. doc_html.value +="<img border=0 src="+src+">"; window.close(); </script> 這樣就實(shí)現(xiàn)了簡單的將上傳的圖片插入到編輯器中。 4、怎么在編輯修改文章的時候調(diào)用HTML在線編輯器來修改數(shù)據(jù):當(dāng)我們把在添加的時候?qū)TML在線編輯器來修改數(shù)據(jù)提交到數(shù)據(jù)庫后我們還需要能將數(shù)據(jù)庫的內(nèi)容用HTML在線編輯器來修改數(shù)據(jù)。首先我們在表單中加入一個隱西藏域來放置數(shù)據(jù)庫中的內(nèi)容,例如<TEXTAREA style="display:none" NAME="content" ROWS="20" COLS="70"><%= rs("Content")%></TEXTAREA>,要注意這里我們用隱藏的textarea而不能用隱藏的input,因?yàn)閿?shù)據(jù)里面可能包含了回車換行,所以如果我們使用<INPUT TYPE="hidden" name=content value="<%=(rs("Content")%>">很可能因?yàn)?lt;%=(rs("Content")%>有換行而出現(xiàn)HTML錯誤(value=后面接的數(shù)據(jù)必須保證是在一行,否則出錯)。然后按照前面介紹的方法使用object調(diào)用HTML在線編輯器,方法和代碼同上,現(xiàn)在我們要做的其實(shí)就是提交時候的逆過程,我們只要將隱藏文本區(qū)域的內(nèi)容復(fù)制到HTML在線編輯器就可以了,在這里我們在body里面加上<body onload="document.form1. doc_html.value=document.form1.content.value">,這樣在頁面裝載完的時候就可以將數(shù)據(jù)庫中的內(nèi)容放入HTML在線編輯器中編輯了,提交過程和上面介紹的一樣,在此就不贅述了。 二、使用iframe調(diào)用(有些和object調(diào)用重復(fù)的地方就簡單描述一下) 1、 怎么在web頁中嵌入:我們在需要嵌入得位置加入以下html代碼:<IFRAME SRC="gledit.htm" id="content_html" style="LEFT: 0px; POSITION: absolute; TOP: 0px;z-index:0" width="100%" height="100%"></IFRAME>其中"src="后面接得數(shù)據(jù)就是我們所要調(diào)用得在線編輯器頁得路徑,id就是我們調(diào)用IFRAME得id,Width和height就是編輯器得高度和寬度了。 2、 怎么取得html編輯器中的數(shù)據(jù):同樣所有需要提交的內(nèi)容我們都是放在一個表單里面,同時我們可以設(shè)置一個隱藏的文本區(qū)域(<textarea name="content" style="display:none"></textarea>或<INPUT TYPE="hidden" name="content">)用以在提交的時候臨時保存html在線編輯器的數(shù)據(jù),我們借助隱藏文本區(qū)域來獲取數(shù)據(jù)。我們在表單提交的同時將object里面的內(nèi)容復(fù)制到隱藏的文本區(qū)域中。詳細(xì)代碼如下: function subchk(cmd) { document.form1.content.value= window.content_html.getHTML(); } </SCRIPT> <FORM METHOD=POST ACTION="Article_add_save.gl" name="form1" onsubmit=" subchk()"> <input type="hidden" name="content" > <IFRAME SRC="gledit.htm" id="content_html" style="LEFT: 0px; POSITION: absolute; TOP: 0px;z-index:0" width="100%" height="100%"></IFRAME> </FORM> 在后臺處理的頁面中我們就可以直接通過取隱西藏域content的數(shù)據(jù)來獲取html在線編輯器的數(shù)據(jù)。 2、怎么取得html編輯器中的數(shù)據(jù):所有需要提交的內(nèi)容我們都是放在一個表單里面,同樣利用object調(diào)用的編輯器也放在這個表單里面,同時我們可以設(shè)置一個隱藏的文本區(qū)域(<textarea name="content" style="display:none"></textarea>或<INPUT TYPE="hidden" name="content">)用以在提交的時候臨時保存html在線編輯器的數(shù)據(jù),因?yàn)樵赼sp或者jsp,php中不能直接獲取表單中的object的內(nèi)容,所以我們必須借助隱藏文本區(qū)域來獲取數(shù)據(jù)。我們在表單提交的同時將object里面的內(nèi)容復(fù)制到隱藏的文本區(qū)域中。詳細(xì)代碼如下: <script language="javascript"> function CheckForm() { document.form1.content.value=document.form1.doc_html.value; } </script> <form method="post" action="add_news_save.asp" onsubmit="CheckForm()" name="form1"> <object id=doc_html name= doc_html style="LEFT: 0px; TOP: 0px" data=" gledit.htm" width=530 height=320 type=text/x-scriptlet VIEWASTEXT></object> <input type="hidden" name="content" > </form> 這樣在后臺處理的頁面中我們就可以直接通過取隱西藏域content的數(shù)據(jù)來獲取html在線編輯器的數(shù)據(jù)。 3、怎么在文本編輯器中加入上傳本機(jī)圖片到html在線編輯器中:首先我們使得在點(diǎn)擊插入圖片的按鈕時彈出一個上傳圖片的窗口,我們利用自己寫的程序來實(shí)現(xiàn)上傳本機(jī)圖片到服務(wù)器上,然后我們需要記錄圖片的路徑,然后通過在調(diào)用html在線編輯器的web頁中寫一個函數(shù)在光標(biāo)的位置插入顯示圖片的html標(biāo)簽。詳細(xì)說明及代碼如下: 在編輯器中我們在插入圖片的按鈕上加入事件onclick="window.open("img_upload.asp","img_upload","width=481 height=190")">在調(diào)用編輯器的頁面中我們定義好插入html代碼到編輯器的函數(shù) <script language=javascript> function insertHtml(HtmlCode) { var win=window.content_html.idEditbox.document; window.content_html.idEditbox.focus();//是編輯器獲得焦點(diǎn),放置代碼插入在編輯器外地方 win.selection.createRange().pasteHTML(HtmlCode)//在光標(biāo)的位置插入html代碼 } </script> 在處理上傳圖片的文件中,我們調(diào)用父窗口的函數(shù)插入html代碼 <script language=javascript> var src="<%=" upload/"&newname%>"; var htmlcodes; htmlcodes = "<img src=""+src+"" alt="<%=theForm("alt")%>" align="<%=theForm("align")%>" border="<%=theForm("border")%>" hspace="<%=theForm("hspace")%>" vspace="<%=theForm("vspace")%>">"; opener.insertHtml(htmlcodes) window.close(); </script> 這樣就實(shí)現(xiàn)了簡單的將上傳的圖片插入到編輯器中。 4、 怎么在編輯修改文章的時候調(diào)用HTML在線編輯器來修改數(shù)據(jù):當(dāng)我們把在添加的時候?qū)TML在線編輯器來修改數(shù)據(jù)提交到數(shù)據(jù)庫后我們還需要能將數(shù)據(jù)庫的內(nèi)容用HTML在線編輯器來修改數(shù)據(jù)。首先我們在表單中加入一個隱西藏域來放置數(shù)據(jù)庫中的內(nèi)容,例如<TEXTAREA style="display:none" NAME="content" ROWS="20" COLS="70"><%= rs("Content")%></TEXTAREA>,在這里我們在調(diào)用編輯器的iframe里面加上<IFRAME SRC="gledit.htm" id="content_html" style="LEFT: 0px; POSITION: absolute; TOP: 0px;z-index:0" width="100%" height="100%" onload="window.content_html.idEditbox.document.body.innerHTML=document.form1.content.value"></IFRAME>,這樣在頁面裝載完的時候就可以將數(shù)據(jù)庫中的內(nèi)容放入HTML在線編輯器中編輯了,提交過程和上面介紹的一樣,在此就不贅述了。 這里只是簡單的向大家介紹了一下如何來調(diào)用html在線編輯器,具體代碼并未一一列出,整理過程中,如果大家對文章中的內(nèi)容有任何問題和建議請和我聯(lián)系。 我改的一個html在線編輯器(iframe調(diào)用的時候用到的): http://qxd./by/source/article/manage/gledit.htm 或者 http://www./manage/gledit.htm object調(diào)用的時候大家可以用這個: http://www.jfinfo.com |
|