`

EXT/FCKEditor 集成 -- AJAX UI -- 一种web开发的新的思维

阅读更多

代码如下,刚学习EXT,感觉比使用DOJO畅快许多,不像<<征服AJAX dojo,prototype,script.aculo.us>>书中作者使用的DOJO是0.4的版本,我下的是1.1的版本,结果许多组件的命名空间都变了,书中讲的代码等于是废的.前面的prototype,script.aculo.us到是讲的不错,但是不深. 所以后面自己也就废弃了DOJO的学习,学习了EXT.

我是PHP程序员,做PHP也就意味着不能像JAVA,.NET一样使用服务器端组件,更没有服务端AJAX组件了...

我是从JAVA web开发者转到PHP的,之前参与过北京市旅游局系统二期改造项目和中关村高新技术园调查的开发,

使用工作流组件开发相当快. 转到PHP后刚开始有些不太适应,几个月后也就适应了,学习到了很多东西.包括开发思维的转变.

 

这里总结了一些经验:

1. 使用一套PHP4/PHP5兼容框架,推荐使用FLEAPHP,使用好几个月了,相当的好用.

2. 熟悉SMARTY 这个模板框架是必须学会的,即使你是程序员

3. 熟悉MVC结构,这个是最重要的.如果你不想在后期狂改代码的话

[对于PHP我只分出VC和DAO层,一般只需要这两个]

4. 要求会使用JS开发,知道使用OOP来写JS. 至少熟悉Prototype框架

5. 对做企业应用的话EXT是不能少的,虽然我到现在还不知道它的版权到底是怎样的.我没有找到

[说是GPL3 或者LGPL 但是仍然要收费,做多个项目是不是要求购买OEM版的,我也不知道,所以决定购买一套UCREN]

 

 

index.html

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EXT/FCKEditor 集成 -- AJAX UI -- 一种web开发的新的思维,要及时转换思想</title>
<link rel="stylesheet" type="text/css" href="/ucren/extjs/js_source/resources/css/ext-all.css" />
<script type="text/javascript" src="/ucren/extjs/js_source/ext-base.js"></script>
<script type="text/javascript" src="/ucren/extjs/js_source/ext-all.js"></script>

<!-- //具体事例 -->
<script type="text/javascript" src="/ucren/fckeditor/fckeditor.js"></script>
<script type="text/javascript" src="/ucren/extjs/app/extfckapp/FckExtjsCall.js"></script>

</head>

<body>
<!-- //页面中子导航菜单 -->


</body>
</html>

 

FckExtjsCall.js

Ext.onReady(function() {
 var fckFormObj = new Ext.FormPanel({
  labelWidth:75,
  url:"",
  title:"EXT/FCKEditor 集成 -- vb2005xu | cdlinux.ys168.com",
  bodyStyle:"padding:5px 5px 0",
  defaultType:"form",
  buttons:[
   {
    text:"Save" ,
    type:'submit',
    handler: function(){
     //获取fckeditor内容赋给textarea
     Ext.get('fckInstance').dom.value = "jjj";//fckobj.GetXHTML(true) + '提交后'; 
     Ext.MessageBox.alert('FCK内容',Ext.get('fckInstance').dom.value);
     if (fckFormObj.form.isValid())
     {
      //创建响应测试函数      
      var fckobj_temp = FCKeditorAPI.GetInstance('fckInstance');
      //fckobj_temp.UpdateLinkedField();//此方法被绑定到submit事件
      
      fckFormObj.form.doAction('submit',{
       url:'submit.php',
       method:'post',
       waitMsg:'正在提交,请稍等...',
        success:function(form,action){//成功
         showInfo('Success',fckobj_temp.GetXHTML(true));
        } ,
        failure:function(form,action){//失败
         showInfo('Failed','网络中断造成连接失败');
        }
      });
     }
    }
   },
   {
    text:"Cancel"
   }
  ],
  items:[{
      xtype:"textarea",
      fieldLabel:"编辑",
      labelSeparator:":",
      id:"fckInstance", //div节点,这里要挂接FCKeditor编辑器
      name:"fckInstance",
      width:736,
      height:371
  }]
 });
 fckFormObj.render(document.body);
 
 /*创建Fckeditor对象 -- 构造函数指出了Fckeditor要挂接的id,上文中的xtype : 'textarea'指定*/
 //在页面上要求挂载fckeditor/fckeditor.js文件
 var fckobj = new FCKeditor('fckInstance',810,350);
 fckobj.BasePath = "/ucren/fckeditor/" ;
 fckobj.ToolbarSet = 'Default' ;
 fckobj.ReplaceTextarea(); 
 
 //创建响应测试函数
 function msgBox()
 {
  var fckobj_temp = FCKeditorAPI.GetInstance('fckInstance');
  fckobj_temp.UpdateLinkedField();//此方法被绑定到submit事件
  Ext.MessageBox.alert('FCK内容',fckobj_temp.GetXHTML( true ));
  
 }
 
 function showInfo(tip,str){
  var win = new Ext.Window({
   title: '信息提交应答提示 -- ' + tip,
   width: 400 , height: 200 ,autoScroll: true ,
   html: '<h1>'+ str +'</h1>'    
  });
  win.show();
 }
});

 

submit.php

这个是一个空文件 可以自己添加内容 .

 

 

以下是工程代码结构图

卷 kong 的文件夹 PATH 列表
卷序列号码为 00003AB9 6CED:1D77
G:.
├─.cache
├─.settings
├─blog
├─extjs
│  ├─app
│  │  ├─extfckapp
│  │  └─ExtremeWebManager
│  └─js_source
│      └─resources
│          ├─css
│          └─images
│              ├─default
│              │  ├─box
│              │  ├─button
│              │  ├─dd
│              │  ├─editor
│              │  ├─form
│              │  ├─grid
│              │  ├─layout
│              │  ├─menu
│              │  ├─panel
│              │  ├─progress
│              │  ├─qtip
│              │  ├─shared
│              │  ├─sizer
│              │  ├─slider
│              │  ├─tabs
│              │  ├─toolbar
│              │  ├─tree
│              │  └─window
│              ├─gray
│              │  ├─button
│              │  ├─panel
│              │  ├─qtip
│              │  ├─tabs
│              │  ├─toolbar
│              │  └─window
│              └─vista
│                  ├─basic-dialog
│                  ├─grid
│                  ├─layout
│                  ├─qtip
│                  ├─sizer
│                  ├─tabs
│                  └─toolbar
├─fckeditor
│  └─editor
│      ├─css
│      │  ├─behaviors
│      │  └─images
│      ├─dialog
│      │  ├─common
│      │  │  └─images
│      │  ├─fck_about
│      │  ├─fck_docprops
│      │  ├─fck_flash
│      │  ├─fck_image
│      │  ├─fck_link
│      │  ├─fck_select
│      │  ├─fck_spellerpages
│      │  │  └─spellerpages
│      │  │      └─server-scripts
│      │  └─fck_template
│      │      └─images
│      ├─dtd
│      ├─filemanager
│      │  ├─browser
│      │  │  └─default
│      │  │      ├─images
│      │  │      │  └─icons
│      │  │      │      └─32
│      │  │      └─js
│      │  └─connectors
│      │      ├─asp
│      │      ├─aspx
│      │      ├─cfm
│      │      ├─lasso
│      │      ├─perl
│      │      ├─php
│      │      └─py
│      ├─images
│      │  └─smiley
│      │      └─msn
│      ├─js
│      ├─lang
│      ├─plugins
│      │  ├─autogrow
│      │  ├─bbcode
│      │  │  └─_sample
│      │  ├─dragresizetable
│      │  ├─placeholder
│      │  │  └─lang
│      │  ├─simplecommands
│      │  └─tablecommands
│      ├─skins
│      │  ├─default
│      │  │  └─images
│      │  ├─office2003
│      │  │  └─images
│      │  └─silver
│      │      └─images
│      └─_source
│          ├─classes
│          ├─commandclasses
│          └─internals
├─json
├─phplibs
│  ├─FLEA
│  │  ├─FLEA
│  │  │  ├─Ajax
│  │  │  ├─Com
│  │  │  │  └─RBAC
│  │  │  │      └─Exception
│  │  │  ├─Config
│  │  │  ├─Controller
│  │  │  ├─Db
│  │  │  │  ├─Driver
│  │  │  │  └─Exception
│  │  │  ├─Dispatcher
│  │  │  │  └─Exception
│  │  │  ├─Exception
│  │  │  ├─Filter
│  │  │  ├─Helper
│  │  │  ├─Rbac
│  │  │  │  └─Exception
│  │  │  ├─Session
│  │  │  ├─View
│  │  │  │  └─Exception
│  │  │  └─_Errors
│  │  │      ├─chinese-gb2312
│  │  │      ├─chinese-utf8
│  │  │      ├─default
│  │  │      └─_common
│  │  └─_Cache
│  └─Smarty
│      ├─internals
│      └─plugins
├─prototype
├─taskofpig
│  ├─Controller
│  ├─Dao
│  ├─js
│  ├─music
│  ├─tpl
│  ├─tpl_c
│  └─_log
├─ucren-documentation
│  ├─common
│  └─images
│      └─bigicons
└─ucren-engine
    ├─classes
    │  ├─animation
    │  ├─net
    │  └─patch
    └─resource
        └─skins
            └─qq

  • 描述: ext-fckeditor_vb2005xu.jpg 样图
  • 大小: 70.5 KB
分享到:
评论
8 楼 vb2005xu 2008-12-01  
bevin_b 写道

虽然EXT官方论坛上的那个例子也写的不怎么样,但是起码做到了基本的控件化...所以您不用在论坛上到处发贴炫耀这点东西吧

有中文的么?? 你这么牛,怎么也没见你写出来啊,敝帚自珍的东西?
7 楼 bevin_b 2008-10-28  
虽然EXT官方论坛上的那个例子也写的不怎么样,但是起码做到了基本的控件化...所以您不用在论坛上到处发贴炫耀这点东西吧
6 楼 ecchanger 2008-09-22  
siemens800 写道
帅哥,我想知道你的工程代码结构图是怎么导出来的 这个很方便

tree + 目录名
5 楼 siemens800 2008-09-12  
帅哥,我想知道你的工程代码结构图是怎么导出来的 这个很方便
4 楼 vb2005xu 2008-08-20  
jianfeng008cn 昨天你留在上边的demo能否给些详细解释,是关于JS闭包的么?这个我看不明白,还请多多指教
3 楼 jianfeng008cn 2008-08-18  
<pre name='code' class='js'>(function(某可能冲突的变量){


某可能冲突的变量('某可能冲突的变量为JQuery').html();

})(JQuery)

</pre>
 
<pre name='code' class='js'>(function(某可能冲突的变量){


某可能冲突的变量('某可能冲突的变量为Prototype').html();

})(Prototype)</pre>
 
2 楼 vb2005xu 2008-08-18  
你说得不错,在textarea的render事件中实例化fckeditor是更好些,代码结构更紧促一些,其实这个是从两方面出发的:1. 使用的PDT的插件JSEclipse的代码自动完成,对JSON结构支持的不好;2. 从我个人来讲我觉得将非EXTJS的代码类与其相分离比较好,闭包的概念我还不熟悉. 希望各位不吝赐教
1 楼 Saro 2008-08-18  
在textarea的render事件中实例化fckeditor是否更好些呢。

相关推荐

    ext-fckeditor整合

    总的来说,EXT与FCKeditor的整合是前端开发中提升用户体验的一种常见手段,它结合了EXT的强大UI组件和FCKeditor的文本编辑功能,使得开发者能够构建出功能更加完善的Web应用。对于那些需要在网页上提供复杂文本编辑...

    jsp版富文本编辑器fckeditor-java-2.5

    fckeditor-java-core-2.4.jar &lt;servlet-name&gt;Connector&lt;/servlet-name&gt; &lt;servlet-class&gt;net.fckeditor.connector.ConnectorServlet&lt;/servlet-class&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; ...

    fckeditor2.3-2.6-java

    FCKeditor的Java版本通常通过一个名为"Fckeditor-java"的JAR文件来引入项目,使得开发者可以方便地在Java应用中调用其API来实现编辑器的功能。 在描述中提到,这个压缩包包含的JAR文件"很全",这可能意味着它包含了...

    fckeditor-java-2.6-bin

    通过上述内容,我们可以了解到"Fckeditor-java-2.6-bin"为Java开发者提供了一套强大且易用的富文本编辑解决方案,它简化了Web应用中的文本编辑工作,同时也为用户提供了一个高效、直观的编辑环境。在实际开发中,...

    FCKeditor的相关资源fckeditor-java-2.6-bin,fckeditor-java-2.6-src,fckeditor-2.6.6

    4. **fckeditor-java-demo-2.6.war**: 这是一个WAR(Web Application Archive)文件,是Java Web应用的标准打包格式。这个文件提供了一个演示示例,展示如何在实际的Java Web环境中集成FCKeditor。解压并部署此WAR...

    fckeditor-java-2.4.1-bin

    "Fckeditor-java-2.4.1-bin"是一个用于Java平台的富文本编辑器软件包,主要功能是为Web应用程序提供一个强大的在线文本编辑工具。FCKeditor是一款开源的JavaScript库,它允许用户在网页上创建类似桌面应用的文本编辑...

    fckeditor-java-2.6-src

    通过深入研究fckeditor-java-2.6-src,你不仅可以掌握一个强大富文本编辑器的使用,还能提升自己的Java Web开发技能,特别是前端与后端交互的理解。同时,这也会让你在面对类似项目时更有信心和能力去进行定制化开发...

    FCKEditor(Java)完整资料包

    FCKEditor是一款开源的富文本编辑器,它为用户提供了一种在Web页面上创建、编辑复杂HTML内容的便捷方式。FCKeditor以其直观的用户界面和丰富的功能,被广泛应用于各种Java Web应用程序中,如内容管理系统(CMS)、...

    fckeditor 与ext 集成使用

    在Web开发中,富文本编辑器和UI框架的集成是常见的需求,以便提供用户友好的界面和功能丰富的编辑体验。本主题主要探讨的是如何将FCKeditor(一个流行的开源JavaScript富文本编辑器)与EXT(一个强大的JavaScript UI...

    FCKeditor_2.6.5.zip,fckeditor-java-demo-2.5.war

    总的来说,FCKeditor_2.6.5.zip和fckeditor-java-demo-2.5.war为开发者提供了在Web应用中实现复杂文本编辑功能的工具和示例,无论你是Java开发者还是前端工程师,都能从中获益,提升你的Web开发能力。在实际项目中,...

    fckeditor---java

    FCKeditor是一款基于Java的开源富文本编辑器,它为Web应用提供了强大的文字编辑功能,类似于桌面应用程序中的文字处理体验。这款编辑器以其易用性和灵活性著名,支持多种浏览器,包括Internet Explorer、Firefox、...

    FCKEditor与ext结合使用

    - **提高效率**:通过EXT的组件化,可以方便地将FCKEditor集成到EXT应用中,减少开发工作量。 **4. 结合步骤** 1. **引入资源**:首先,确保引入FCKEditor和EXT的JavaScript和CSS文件到你的项目中。 2. **创建编辑...

    fckeditor-java-2.4.1-src.zip_FCKeditor jsp_fckeditor-java_fcked

    在Java环境下,FCKeditor提供了fckeditor-java版本,使得Java开发者能够方便地在Web应用中集成这款编辑器,提供丰富的文本编辑功能。 标题中的"fckeditor-java-2.4.1-src.zip"表明这是一个FCKeditor的Java版本源码...

    FCK在线编辑器源码及部署项目引用示例

    3.将FCKeditor.tld导入WEB-INF文件夹 4.将以下代码添加到web.xml配置文件中: &lt;servlet-name&gt;Connector&lt;/servlet-name&gt; &lt;servlet-class&gt; com.FCKeditor.connector.ConnectorServlet &lt;/servlet-class&gt; &lt;init-...

    用MyEclipse集成FCKeditor的几个小例子

    在IT行业中,集成富文本编辑器FCKeditor到开发环境中可以极大地提升用户界面的编辑体验。本教程将详细讲解如何在流行的Java IDE MyEclipse中集成FCKeditor,并通过几个实际的小例子展示其具体操作步骤。 一、...

    FCKEditor2.6和fckeditor-java2.4的使用.doc

    ### FCKEditor 2.6 和 fckeditor-java 2.4 使用详解 #### 一、简介 FCKEditor是一款功能强大的在线富文本编辑器,它能够帮助开发者在Web应用程序中集成高级文本编辑功能。FCKEditor 2.6 版本与 fckeditor-java 2.4...

    在JSP中配置FCKeditor 2.6.4

    - 将 `fckeditor` 和 `fckeditor-java-2.4.1` 文件夹解压到项目根目录下,其中 `fckeditor` 文件夹包含所有 JavaScript 和图像资源,而 `fckeditor-java-2.4.1` 包含 Java 支持文件。 - 配置 `fckeditor-java-2.4.1...

    fckeditor-java-demo-2.4.1.war

    "Fckeditor-java-demo-2.4.1.war" 是一个基于Java的Web应用程序示例,主要用于展示FCKeditor的功能。FCKeditor是一个流行的开源富文本编辑器,它允许用户在网页上创建和编辑内容,类似于Microsoft Word的功能。这个...

    FCKEditor2.6.3-----asp.net版

    FCKEditor是一款强大的开源文本编辑器,广泛用于网页和Web应用程序中,提供所见即所得(WYSIWYG)的编辑体验。在ASP.NET环境中,FCKEditor使得用户可以像在桌面文字处理软件中一样编辑网页内容,无需编写HTML代码。...

Global site tag (gtag.js) - Google Analytics