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 相关文章推荐
教你如何解密js/vbs/vbscript加密的编码异处理小结
Jun 25 Javascript
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
Aug 14 Javascript
使用jquery实现以post打开新窗口
Mar 19 Javascript
JavaScript设计模式之装饰者模式介绍
Dec 28 Javascript
jQuery实现单击和鼠标感应事件
Feb 01 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
May 09 Javascript
JavaScript实现DOM对象选择器
Sep 24 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
老生常谈JavaScript面向对象基础与this指向问题
Oct 16 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 Javascript
微信小程序页面间跳转传参方式总结
Jun 13 Javascript
微信小程序自定义组件实现环形进度条
Nov 17 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/06/13 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
2015/04/13 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
python生成指定尺寸缩略图的示例
2014/05/07 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
Python爬取梨视频的示例
2021/01/29 Python
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
酒店中秋节活动方案
2014/01/31 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
简易离婚协议书范本
2014/10/24 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript