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 相关文章推荐
CSS和Javascript简单复习资料
Jun 29 Javascript
裁剪字符串trim()自定义改进版
Apr 10 Javascript
javascript模拟php函数in_array
Apr 27 Javascript
js获取滚动距离的方法
May 30 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
Mar 11 Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 Javascript
jQuery.datatables.js插件用法及api实例详解
Oct 28 Javascript
JavaScript实现全选取消效果
Dec 14 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
Jun 24 Javascript
基于ssm框架实现layui分页效果
Jul 27 Javascript
JavaScript 预解析的4种实现方法解析
Sep 03 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 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之第三天
2006/10/09 PHP
php下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
php的hash算法介绍
2014/02/13 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
Python中isnumeric()方法的使用简介
2015/05/19 Python
基于python中staticmethod和classmethod的区别(详解)
2017/10/24 Python
基于Python os模块常用命令介绍
2017/11/03 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
Ejb技术面试题
2015/04/29 面试题
利群广告词
2014/03/20 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
家庭贫困证明
2014/09/23 职场文书
写给导师的自荐信
2015/03/06 职场文书
会计试用期自我评价
2015/03/10 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
学生病假条范文
2015/08/17 职场文书
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL