注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

樱之花

叶散的时候,你明白欢聚;花谢的时候,你明白青春.

 
 
 

日志

 
 
关于我

分类中“我的实验室”是我在日常工作中的一些知识总结,有些写的比较匆忙,可能大家在阅读时会产生困扰,后期有时间我会重新整理编辑,谢谢大家的到访,您们的支持是我前进的动力!

网易考拉推荐

js获取eWebEditor的内容(javascript)  

2009-09-07 11:44:40|  分类: JS程式 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
近想使用一个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>

  评论这张
 
阅读(1717)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017