首页 > 代码库 > 花了一早上的时间(4个多小时)总结出来的教训:textarea标签中的文本内容不能够通过serialize()方法得到

花了一早上的时间(4个多小时)总结出来的教训:textarea标签中的文本内容不能够通过serialize()方法得到

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值
        }

花了一早上的时间(4个多小时)总结出来的教训:textarea标签中的文本内容不能够通过serialize()方法得到