1.先看一下完善的代码,也就是最终的答案!
2.以上结果是在几个小时的折磨之后才得出来的,程序猿不容易啊!可这个期间会经过很多弯路,请看下面:
2.1一开始是这样:textarea标签在form表单内,直接用Jquery中的serialize()序列化;
2.2可是结果很悲催啊,当我新添加一条新闻时,我明明填写了新闻标题和内容,为什么提示为空呢?难道被Web黑洞吸收了?
我不相信,抱着坚定的信心寻找原因;
*************************************************
期间是艰难的思考期,撒尿的时候突然想到,textarea中的文本可能不能被serialize()序列化吧?
************************************************
2.3我继续尝试了一下编辑新闻,”哈哈哈“是从数据库中读取到的内容,我新添加了一句之后,点击提交,在VS中看调试结果;
按照假想,这句新增的语句不会传递到服务端
2.4OMG!果然没有传递过来,开心啊!找到原因了啊!找到原因就好说了,就怕找不到问题所在;
3.0那我们就把已经完善的代码拿来测试一下!
3.1这里测试一下编辑一篇新闻试试?
3.2 经测试,新增一篇新闻也是没有问题的!
4.0总结:
4.1其实textarea标签在form表单内还是外都没错的,只是放在方面性能稍微好点!你想想,放在里面好像多费手续;
4.2其实主要还在于通过JS代码来获取文本域的内容,然后务必在序列化的数据data后面加上 "&nEditor="+GetContent(),让服务器接收。
function GetContent() {
return CKEDITOR.instances.nEditor.getData();//这里nEditor是textarea的name值
}