最近项目中用到了Jquery Easyui和KindEditor等框架组件,问题真不少啊~
  一些看起来很简单理所当然的事情,竟然花费了不少时间,才解决好~
  
1.readonly和disable的区别
  readonly:只读,不可编辑,提交表单时,值会提交到后端。
  disable:禁止(包含了“只读”和“不可编辑”),提交表单时,值不会提交到后端。
      如果需要提交到后端,在表单提交之前,手动把disable修改为false。
  
  text叫只读,select有“可输入”和“可编辑”2种~
  
  Html
  <input type="text" readonly="readonly" disabled="disabled"/>
  
  Jquery
  $("#id").attr("readonly",true);
  $("#id").attr("disabled",true);
  
  实际场景:
  如果只读,用readonly。
  如果不但只读,而且后端不需要这个数据,可以用disable。也可以用readonly,但是提交之前,把disable改为false。
  
  readonly和disable还有个重大的区别,readonly的控件颜色是“白,偏亮的色彩”,disable是控件颜色"黑,偏暗的色彩"。
  为了给用户,统一的效果,如果不可编辑,建议统一使用“readonly”或“disable”。
  如果是disable,后端又需要数据,一种办法是修改前端代码,另外一种是修改后端代码(后端存在不需要修改这几个字段的update方法)。
  
  Easyui和Combobox
  Easyui中,textbox有readonly属性。
   $('#projectName').textbox({    
readonly:false
});

Combobox没有找到readonly属性,找到了“禁用”
 $('#industryId').combobox("disable");
 
//可用
$('#messtype').combobox('enable');
 
需要注意的是,如果是.combobox,用readonly有时有问题,下拉列表框没有显示选项。
如果用combobox用textbox的readonly赋值,提交的时候,是字符串,不是对应的id。

2.KindEditor的ready方法,不执行。
官方示例代码
KindEditor.ready(function(K) {
editor = K.create('textarea[id="content"]', {
cssPath : prettifyCssPath,
uploadJson : uploadJson,
urlType : 'absolute',
items:items
});
prettyPrint();
});

在JqueryUI中,ready方法没有执行。
执行使用create方法。
 requirementEditor = KindEditor.create('textarea[id="requirement"]', {
allowFileManager : true,
cssPath : prettifyCssPath,
uploadJson : uploadJson,
urlType : 'absolute',
items:kdItems,
});

网上有人说“KE.create”,至少新版本4.1.x会报错。
(通过网上找答案,也发现,百度的答案,有时候年份靠前的答案在前面,但是可能已经过时了)

说道KindEditor,有时发现编辑框出不来,可能和EasyUI有一定的冲突,我是通过调整和规范化js引入解决这个问题的。

3.KindEditor自定义,编辑框的工具条。
var items=[ 'copy', 'paste',
           'plainpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
           'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent',  '-',
           'title', 'fontname', 'fontsize', '|', 'textcolor', 'bgcolor', 'bold',
           'italic', 'underline', 'strikethrough'];
KindEditor.ready(function(K) {
editor = K.create('textarea[id="content"]', {
cssPath : prettifyCssPath,
uploadJson : uploadJson,
urlType : 'absolute',
items:items
});
prettyPrint();
});
传入自定义的item数组,items可以定义为全局变量,如果只用一次,用局部变量比较好。

4.KindEditor修改值。
KindEditor.html("#content","输入HTML内容,点击我,查看效果");
<textarea name="content" id="content"
style="width: 700px; height: 70px;"></textarea>

千万注意,有个“#”。
网上不少答案,小雷表示“呵呵哒”~

5.表单提交时,KindEditor的值么有提交。
$("#" + fmId).form('submit', {
url : "${base}/fundBack/edit",
onSubmit : function() {
$("#requirement").val(requirementEditor.html());
$("#descrition").val(descritionEditor.html());
$("#fundNo").attr("disabled",false);
return $(this).form('validate');
},

在提交之前,把KindEditor的editor对象的html()值,用jquery赋值一次。

最近遇到的若干Web前端问题:disable和readonly,JqueryEasyUI,KindEditor的更多相关文章

  1. Web前端温故知新-CSS基础

    一.CSS定义与编写CSS 1.1 CSS的定义 全名:Cascading Style Sheets -> 层叠样式表 定义:CSS成为层叠样式表,它主要用于设置HTML页面中的文本内容(字体. ...

  2. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  3. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  4. web前端之HTML的大框架(body元素与frameset元素)

    web前端之HTML的大框架      body元素与frameset元素 对于从事html的人员来说,我们一般熟悉的框架是先声明html ,然后在<html>标签对里包着<head ...

  5. 创建 Web 前端开发环境

    Web 前端开发涉及多种工具,这里将常用工具的安装和配置进行说明,提供了详细的说明,为后继的开发创建一个坚实的基础. 本文介绍的工具有:NodeJS, NPM, Bower, Git 和 Grunt. ...

  6. Web前端优化最佳实践及工具集锦

    Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...

  7. 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  8. 淘宝前端工程师:国内WEB前端开发十日谈

    一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是" ...

  9. Web前端开发十日谈

    =========================================================================== 原文章: http://kb.cnblogs.c ...

随机推荐

  1. 利用艺术家的整数ID映射将标签转换为向量

    <strong><span style="font-size:18px;">/*** * @author YangXin * @info Mapper选择艺 ...

  2. httpd: Could not reliably determine the server&#39;s fully qualified domain name

    [root@luozhonghua sbin]# service httpd start Starting httpd: httpd: apr_sockaddr_info_get() failed f ...

  3. IP address could not be resolved: Temporary failure in name resolution

    今早发现mysql日志中有非常多例如以下的警告: 140724 18:41:25 [Warning] IP address '172.16.18.217' could not be resolved: ...

  4. 海思 3520D 移植Qt4.5.3 一

    一.移植Qt4.5.3  1.获得 Qt4.5.3 的源码Qt4.5.3源码的原始包 qt-embedded-opensource-src-4.5.3.tar.gz 将其复制到 /opt 下,     ...

  5. BZOJ1830: [AHOI2008]Y型项链 & BZOJ1789: [Ahoi2008]Necklace Y型项链

    [传送门:BZOJ1830&BZOJ1789] 简要题意: 给你3个字符串,你每一次可以在一个字符串的末端删除一个字符或添加一个字符,你需要用尽量少的操作次数使得这3个字符串变成一样的. 题解 ...

  6. SPFA的两种优化

    SPFA是可以优化的,这个大家都是晓得的吧. 下面介绍两种SPFA的神奇优化(我只代码实现了的一种) SLF:Small Label First策略,设要加入的节点是j,队首元素为i,若dist(j) ...

  7. BZOJ 1001 平面图与对偶图的转化 最短路Or最大流

    思路: 1.按照题意求最小割 转换成最大流用Dinic解 2. 转换成对偶图 求最短路 Dinic: //By SiriusRen #include <queue> #include &l ...

  8. 机器学习规则:ML工程最佳实践----rule_of_ml section 3【翻译】

    作者:黄永刚 ML Phase III: 缓慢提升.精细优化.复杂模型 第二阶段就已经接近结束了.首先你的月收益开始减少.你开始要在不同的指标之间做出平衡,你会发现有的涨了而有的却降了.事情变得有趣了 ...

  9. IE9+ BUG汇总

    CSS透明没有继承 css opacity is not inherited in internet explorer 今儿遇到一个问题源于同事写的一个页面,发现父级明明 opacity:0 了,但子 ...

  10. 使用Onedrive

    买了个某捷的大硬盘,于是发现比较坑,非要用云存储才能获得额外200G.于是费了一个多小时.不过学习到了很多. 首先硬盘下会给出对应的exe文件,点击运行就可以. 之后注册希捷的账号,以及微软的账号. ...