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事件实现代码
Mar 12 Javascript
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 Javascript
javascript之querySelector和querySelectorAll使用介绍
Dec 20 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
May 07 Javascript
关于function类中定义变量this的简单说明
May 28 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
深入理解Vue父子组件生命周期执行顺序及钩子函数
Aug 12 Javascript
vue下history模式刷新后404错误解决方法
Aug 18 Javascript
JS实现给数组对象排序的方法分析
Jun 24 Javascript
150行Node.js实现的dns代理工具
Aug 02 Javascript
JS实现多选框的操作
Jun 24 Javascript
vue3+typescript实现图片懒加载插件
Oct 26 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设计模式 Mediator (中介者模式)
2011/06/26 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
js实现可拖动DIV的方法
2013/12/17 Javascript
java、javascript实现附件下载示例
2014/08/14 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
详解vue 命名视图
2019/08/14 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
Python的Flask框架中web表单的教程
2015/04/20 Python
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
对Python3 序列解包详解
2019/02/16 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
企业安全生产目标责任书
2014/07/23 职场文书
2014年国庆节寄语
2014/09/19 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
委托书格式要求
2015/01/28 职场文书
中秋节晚会开场白
2015/05/29 职场文书
实习单位意见
2015/06/04 职场文书
教师节表彰会主持词
2015/07/06 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers