ajax 提交文本域,javascript-如何ajax提交从CKEditor输入的表单文本区域?

javascript-如何ajax提交从CKEditor输入的表单文本区域?

我正在使用CKEditor,jQuery和jQuery表单插件,并且我想通过Ajax查询提交CkEditor表单的内容。 这是我的代码:

CKEDITOR.replace('bodyText');

Submit

不幸的是,似乎Ajax请求没有传递bodyText参数;

我做错了什么或如何实现我需要的?

谢谢。

6个解决方案

138 votes

您需要先调用以下命令,以使CKEDITOR更新其相关字段。

for ( instance in CKEDITOR.instances )

CKEDITOR.instances[instance].updateElement();

所以

的HTML

Submit

和JavaScript

function CKupdate(){

for ( instance in CKEDITOR.instances )

CKEDITOR.instances[instance].updateElement();

}

Gabriele Petrioli answered 2020-01-28T06:25:39Z

17 votes

这对我来说最有效:beforeSerialize回调

$('form#description').ajaxForm({

beforeSerialize:function($Form, options){

/* Before serialize */

for ( instance in CKEDITOR.instances ) {

CKEDITOR.instances[instance].updateElement();

}

return true;

},

// other options

});

Pepa Chmel answered 2020-01-28T06:26:01Z

8 votes

如果使用jQuery表单插件,则可以使用beforeSubmit选项以获得更优雅的解决方案:

$("#form").ajaxForm({

beforeSubmit: function()

{

/* Before submit */

for ( instance in CKEDITOR.instances )

{

CKEDITOR.instances[instance].updateElement();

}

},

// ... other options

});

Crewone answered 2020-01-28T06:26:22Z

6 votes

在我的情况下,以下内容对我有帮助,我只需使用这两行,然后再对表格进行序列化。

for ( instance in CKEDITOR.instances )

CKEDITOR.instances[instance].updateElement();

var data = $('#myForm').serializeArray();

Milan Saha answered 2020-01-28T06:26:43Z

3 votes

我尝试过这样的事情:

首先,我必须在@ Html.BeginForm上放置一个id =“ #myForm”,然后将它们放在脚本部分中,在其中使用脚本:

$(document).ready(function CKupdate() {

$('#myForm').ajaxForm(function () {

for (instance in CKEDITOR.instances) {

CKEDITOR.instances[instance].updateElement();

}

});

});

然后我为“提交”按钮做了类似==的操作,对我来说效果很好,不再需要两次按“提交=”

Submit

EugeneEunice answered 2020-01-28T06:27:21Z

1 votes

我只是这样做:

$('#MyTextArea').closest('form').submit(CKupdate);

function CKupdate() {

for (instance in CKEDITOR.instances)

CKEDITOR.instances[instance].updateElement();

return true;

}

Omu answered 2020-01-28T06:27:41Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值