codeMirror插件可以做语法高亮渲染,但它操作过程是这样的:先从 textarea中读取值放到codemirror动态生成的div中,根据textarea中的换行个数确定行数,根据正则表达来高亮语法。这就有个问 题,当你在页面上对语法做出修改提交表单时,其实只是在codemirror上的动态div上做出修改,当form表单提交时,原来textarea值并 没有变化。

所以,解决办法如下

1.需要在表单提交之前将textarea渲染的editor对象的值给读取出来,反写到textarea上去。

2.使用一个onchange事件,在渲染的div值出现变化时,反写到textarea上去。

(1) ids为textarea的id,jeditor_obj 为针对textarea渲染的对象

    var ids = ['globalValueId','readyFlowId','mainFlowId','clearFlowId','exceptionFlowId'];    

    var globalValueId_Editor = new Object();

    var readyFlowId_Editor = new Object();

    var mainFlowId_Editor = new Object();

    var clearFlowId_Editor = new Object();

    var exceptionFlowId_Editor = new Object();

    var jeditor_obj = [globalValueId_Editor,readyFlowId_Editor,mainFlowId_Editor,clearFlowId_Editor,exceptionFlowId_Editor];   

(2) 各个语法高亮的editor对象

    /* 语法高亮 */

    for(var i=0;i<ids.length;i++){

         jeditor_obj[i] = CodeMirror.fromTextArea(document.getElementById(ids[i]),

            {

                lineNumbers : true,

                matchBrackets : true,

                mode : "text/x-java",

            });

    }

(3) 红色部分为提交前将值反写回textarea的操作

            submitHandler : function(form) {

                  for(var i=0;i<ids.length;i++){

                    $("#"+ids[i]).val(jeditor_obj[i].getValue());

                }

                getPost("business/mergeFlowAction");

            }

最新文章

  1. 一枚招聘信息——微信支付web前端开发工程师【已招到】
  2. Python学习记录day5
  3. angular service provider
  4. iOS-数据持久化-偏好设置
  5. unity销毁层级物体及 NGUI 深度理解总结
  6. 安装Bind过程中提示丢失MSVCR110.dll的解决办法
  7. 各大网站CSS代码初始化集合
  8. Using Post-Form Trigger In Oracle Forms
  9. php 文件下载 以及 file_exists找不到文件的解决方案
  10. 12.HTML编辑器(CKEditor、CKFinder集成)
  11. 沙朗javascript(两)正则表达式
  12. 【server端学习】修改Apache配置使支持shtml
  13. table边框1px
  14. 重载重写重定义-易混淆概念-C++编译器处理方式
  15. 【Android Studio安装部署系列】三十五、从Android studio3.0.1升级到Android studio3.1.4【以及创建android p模拟器的尝试(未成功)】
  16. 条件结构if
  17. 在docker中运行mariadb程序
  18. 深入理解hashCode
  19. Numpy一文全了解
  20. mysql 开发进阶篇系列 54 权限与安全(账号管理的各种权限操作 下)

热门文章

  1. 【代码笔记】iOS-点击一个button,出6个button
  2. iOS_UITableView性能优化那些事
  3. 1.9 基础知识——GP2.10 高级别的领导检查(Higher level management)
  4. Git从零教你入门(4):Git服务之 gogs部署安装
  5. Virtual Box 杂记
  6. JavaScript Patterns 5.8 Chaining Pattern
  7. [转]CentOS 6.4下PXE+Kickstart无人值守安装操作系统
  8. Nginx中文手册
  9. php截取字符串函数
  10. SQLServer复合查询条件(AND,OR,NOT)对NULL值的处理方法