论坛数据统计           欢迎到【弱电论坛】来学习和讨论问题!

弱电工程项目管理软件 报价之星软件--智能弱电系统专业软件
★电工电气产品供求、电气展会、人才、电气技术文章、图库、电气技术论坛等相关内容,请跳转至【电气工程网】--- 可直接使用本站会员名和密码登陆!(首次使用需要激活账户)
标王 热搜: 网络监控  楼宇对讲  弱电  机房及机柜内部的理线方法  ar800-hn  CAD  门禁  综合布线  工资  面板 
 
当前位置: 首页 » 技术文章 » 电脑技术 » 网页网站 » 正文

js 获取 eWebEditor 的内容

放大字体  缩小字体 发布日期:2008-12-29  来源:互联网  作者:manage  浏览次数:1266
核心提示:最近想使用一个html编辑器,而我想获取的值又是通过客户端面的,想起以前使用过 eWebEditor 在线编辑器还不错, 但是以前的获取值都是在后台获得的,试过用 document.getElementById('Content').value 居然获取不到值。 但事实上并不是这样,通过这种方式取值,只能

最近想使用一个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("空"); } }

 

==========================================================

完整代码如下:


<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> 
 
 
[ 技术文章搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
推荐图文
推荐技术文章
点击排行
 
 



弱电网、电气网合并

 
弱电基础 | 常用软件 | 信息发布规则 | 积分规则 | VIP会员注册 | 广告投放 | 弱电培训 | 联系我们 | 版权声明 | 帮助中心 | 网站地图 | 排名推广 | 苏ICP备14010056号 | RSS订阅
★本站手机app客户端已上线! 点击下载