TinyMCE提交AjaxForm获取不到数据的解决方法


Posted in Javascript onMarch 05, 2015

本文实例分析了TinyMCE提交AjaxForm获取不到数据的解决方法。分享给大家供大家参考。具体分析如下:

在没有使用AjaxForm前,我做的一个小小的评论提交的Web form,评论内容使用了TinyMCE做文本编辑。为了增加一点点的用户体验,就顺手拿AjaxForm来实现Ajax提交。可是发现出现了一个意外的事情。就是每次提交,第一次提交时,AjaxForm会无法获得当前编辑的评论内容,即TextArea里面的内容,要再点击一次提交,才能将TextArea的内容提交上去。

关键是TinyMCE上的内容没有在提交前更新到TextArea中。于是想看看AjaxForm是否有在提交前的事件绑定,发现在beforeSubmit事件中,formData的内容已经被填充,虽然可以在此处自行将当前的TinyMCE的内容填充上去,可是总觉得是不太漂亮的解决方案。

为了找是否有其它途径解决此问题,我查看了一下AjaxForm的源代码,发现原来AjaxForm作者已经为这问题提出了统一的解决方案,具体源代码如下:

1. js代码如下:

// hook for manipulating the form data before it is extracted;

// convenient for use with rich editors like tinyMCE or FCKEditor

var veto = {};

this.trigger('form-pre-serialize', [this, options, veto]);

if (veto.veto) {

log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');

return this;

}

2. 对应FCKEditor类似:
// bind form using 'ajaxForm' 

$('#commentForm').ajaxForm(options);

// 绑定form-pre-serialize事件,在触发form-serilaize事件前保存tinyMCE的数据到textarea中

$('#commentForm').bind('form-pre-serialize', function(event, form, options, veto) {

tinyMCE.triggerSave();

});

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript function、指针及内置对象
Feb 19 Javascript
javascript 特性检测并非浏览器检测
Jan 15 Javascript
jQuery UI 应用不同Theme的办法
Sep 12 Javascript
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
May 11 Javascript
jQuery的缓存机制浅析
Jun 07 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
jQuery统计指定子元素数量的方法
Mar 17 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
Sep 18 Javascript
AngularJS基础 ng-show 指令简单示例
Aug 03 Javascript
jQuery多级联动下拉插件chained用法示例
Aug 20 Javascript
基于element-ui的rules中正则表达式
Sep 04 Javascript
jQuery实现数秒后自动提交form的方法
Mar 05 #Javascript
Redis基本知识、安装、部署、配置笔记
Mar 05 #Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 #Javascript
PHP 数组current和next用法分享
Mar 05 #Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
Mar 05 #Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
Mar 05 #Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
Mar 05 #Javascript
You might like
PHP 安全检测代码片段(分享)
2013/07/05 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
js如何实现元素曝光上报
2019/08/07 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
python类继承与子类实例初始化用法分析
2015/04/17 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
法国体育用品商店:GO Sport
2019/10/23 全球购物
国际贸易毕业生求职信范文
2014/02/21 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
个人银行贷款担保书
2014/04/01 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
1亿有多大教学反思
2014/05/01 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
财务务虚会发言材料
2014/10/20 职场文书
七一晚会主持词
2015/06/29 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书