猿问

contenteditable="true"无法提交到php,该怎么办?

最近在开发一个富文本编辑器,考虑到textarea只能输入文本,所以我用div的contenteditable="true"属性实现了富文本,可以插入图片,视频等。

但是问题来了,在表单页面:

<form action="test.php" method="post">

<div contenteditable="true" name="zhengwen"></div>

<input type="submit">

</form>

这样做,div里面的内容,根本就无法提交到test.php页面的,echo $_POST[zhengwen];是没输出的。

我怀疑根本就没有提交过来。

大家知道怎么解决吗?求表单提交页面和接收页面的简单代码!!!


蓝山帝景
浏览 1011回答 1
1回答

温温酱

1、富文本编辑器可以用百度的UEditor2、正如楼上所说,你可以用ajax来提交,但是这个有一点不好,如果有一百个输入框,难道提交一百个键值对?3、所以你可以用js的formData对象,图片也可以发送过去,代码如下&nbsp; &nbsp; $("#submit").click(function() {&nbsp; &nbsp; &nbsp; &nbsp; var x = new FormData(document.getElementById("frm"));//构造方法里面必须是dom对象&nbsp; &nbsp; &nbsp; &nbsp; x.append('abc', 123);//追加你的数据&nbsp; &nbsp; &nbsp; &nbsp; $.ajax({&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url: '1.php',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type: 'POST',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data: x,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; processData: false,&nbsp; // 告诉jQuery不要去处理发送的数据&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; contentType: false&nbsp; &nbsp;// 告诉jQuery不要去设置Content-Type请求头&nbsp; &nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; &nbsp; &nbsp; .success(function(data) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //代码&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; });4、也可以用serializeArray函数模拟上面的formData对象,代码如下&nbsp; &nbsp; var allDatas = $("form").serializeArray();&nbsp; &nbsp; allDatas.push({name:'data',value: JSON.stringify(你的数据对象)});//追加的格式必须是name,value形式,打印allDatas的格式就知道了!!!&nbsp; &nbsp; $.post(url,allDatas,function(json){//代码&nbsp; &nbsp; });
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答