js 获取 eWebEditor 的内容
最近想使用一個html編輯器,而我想獲取的值又是通過客戶端面的,想起以前使用過 eWebEditor 在線編輯器還不錯,
但是以前的獲取值都是在后臺獲得的,試過用 document.getElementById('Content').value 居然獲取不到值。
?
但事實上并不是這樣,通過這種方式取值,只能取到初始值,當編輯器的內容變化時是取不到的,為什么呢?為什么后臺程序可以取得到編輯器中的值呢,<%=request.getParameter("content1")%>這里是可以取到編輯器中的內容的,但是document.getElementById("content1").value確不可以。看來eWebEditor在js中動了手腳,一定是動態幫定了提交事件,或動態綁定了在源碼中搜索onsubmit找到如下代碼,原來動態的綁定了onsubmit事件,這樣每次在提交前會執行AttachSubmit函數
oForm.attachEvent("onsubmit", AttachSubmit) ; if (! oForm.submitEditor) oForm.submitEditor = new Array() ; oForm.submitEditor[oForm.submitEditor.length] = AttachSubmit ; if (! oForm.originalSubmit) { oForm.originalSubmit = oForm.submit ; oForm.submit = function() { if (this.submitEditor) { for (var i = 0 ; i < this.submitEditor.length ; i++) { this.submitEditor[i]() ; } } this.originalSubmit() ; } } function AttachSubmit() { var oForm = oLinkField.form ; if (!oForm) {return;} var html = getHTML(); ContentEdit.value = html; if (sCurrMode=="TEXT"){ html = HTMLEncode(html); } splitTextField(oLinkField, html); }
AttachSubmit就是copy編輯器的內容到隱藏域控件中的過程。
知道了過程我們的問題就不難解決了。只需在取編輯器內容之前執行下AttachSubmit即可
function validateForm(){ window.frames["eWebEditor1"].AttachSubmit();//執行iframe頁面中的AttachSubmit函數 if(document.getElementById("content1").value!=""){ document.getElementById("myform").submit(); }else{ alert("空"); } }
?
==========================================================
完整代碼如下:
Code<HTML>?
????<HEAD>
????<TITLE>eWebEditor?:?標準調用示例</TITLE>?
????<META?http-equiv=Content-Type?content="text/html;?charset=gb2312">?
????<link?rel='stylesheet'?type='text/css'?href='example.css'>?
????<script>?
????<!--
????????function?validateForm()
????????{?
????????????//執行iframe頁面中的AttachSubmit函數?
????????????window.frames["eWebEditor1"].AttachSubmit();
????????????if(document.getElementById("content").value?!=?"")
????????????{?
????????????????alert(document.getElementById("content").value);
????????????}
????????????else
????????????{?
????????????????alert("空");?
????????????}
????????}
????-->
????</script>?
????</HEAD>?
????<BODY>?
????<FORM?method="post"?name="myform">?
????????<TABLE?border="0"?cellpadding="2"?cellspacing="1">?
????????????<TR>?
????????????????<TD>編輯內容:</TD>?
????????????????<TD>?
????????????????????<INPUT?type="hidden"?name="content"?>?
????????????????????<IFRAME?ID="eWebEditor1"?src="ewebeditor.htm?id=content&style=coolblue"?frameborder="0"?scrolling="no"?width="550"?height="350"></IFRAME>?
????????????????</TD>?
????????????</TR>?
????????????<TR>?
????????????????<TD?colspan=2?align=right>?
????????????????????<INPUT?type=button?value="提交"?onclick="validateForm();">?
????????????????????<INPUT?type=reset?value="重填">?
????????????????????<INPUT?type=button?value="查看源文件"?onclick="location.replace('view-source:'+location)">?
????????????????</TD>?
????????????</TR>?
????????</TABLE>?
????</FORM>?
????</BODY>?
????</HTML>?
轉載于:https://www.cnblogs.com/KimSky/archive/2008/10/27/1320720.html
總結
以上是生活随笔為你收集整理的js 获取 eWebEditor 的内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web.config中的session配
- 下一篇: Service笔记