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 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
FileUpload上传图片(图片不变形)
Aug 05 Javascript
可简单避免的三个JS发布错误的详细介绍
Aug 02 Javascript
浏览器窗口加载和大小改变事件示例
Feb 27 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
Jul 31 Javascript
JavaScript中最简洁的编码html字符串的方法
Oct 11 Javascript
Javascript对象字面量的理解
Jun 22 Javascript
js合并两个数组生成合并后的key:value数组
May 09 Javascript
深入解析ES6中的promise
Nov 08 Javascript
javascript如何实现create方法
Nov 04 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
Mar 09 Javascript
JS class语法糖的深入剖析
Jul 07 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自定义urlencode,urldecode函数实例
2015/03/24 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
用Python写的图片蜘蛛人代码
2012/08/27 Python
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
python中int与str互转方法
2018/07/02 Python
Numpy中的mask的使用
2018/07/21 Python
python实现矩阵打印
2019/03/02 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
企业总经理职责
2014/02/02 职场文书
2014年保密工作总结
2014/11/22 职场文书
论语读书笔记
2015/06/26 职场文书
毕业典礼致辞
2015/07/29 职场文书
队名及霸气口号大全
2015/12/25 职场文书