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 相关文章推荐
jquery实现动态菜单的实例代码
Nov 28 Javascript
简介JavaScript中的setDate()方法的使用
Jun 11 Javascript
javascript基于prototype实现类似OOP继承的方法
Dec 16 Javascript
ionic开发中点击input时键盘自动弹出
Dec 23 Javascript
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 jQuery
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
vue2中使用less简易教程
Mar 27 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
May 02 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
Dec 24 Javascript
vue实现搜索功能
May 28 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
Jun 10 Javascript
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
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
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
phpwind放自动注册方法
2006/12/02 Javascript
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
javaScript基础详解
2017/01/19 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
Python urlopen 使用小示例
2008/09/06 Python
python遍历数组的方法小结
2015/04/30 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
Python os库常用操作代码汇总
2020/11/03 Python
python用700行代码实现http客户端
2021/01/14 Python
贝佳斯官方网站:Borghese
2020/05/08 全球购物
小学教育毕业生自荐信
2013/11/18 职场文书
八项规定整改方案
2014/02/21 职场文书
任命书范本大全
2014/06/06 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书