·您现在的位置: 江北区云翼计算机软件开发服务部 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 花了一早上的时间(4个多小时)总结出来的教训:textarea标签中的文本内容不能够通过serialize()方法得到

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

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23
花了一早上的时间(4个多小时)总结出来的教训:textarea标签中的文本内容不能够通过serialize()方法得到

 

1.先看一下完善的代码,也就是最终的答案!

functionGetContent(){

returnCKEDITOR.instances.nEditor.getData();//这里nEditor是textarea的name值

}

$("#btnAdd").click(function(){

//alert(GetContent());//测试使用

vardata=$("#fContent").serialize();

// alert(data);

$.Ajax(targetUrl,{

data:data+"&nEditor="+GetContent(),

type:"post",

dataType:"json",

success:function(jsonObj){

PRocessData(jsonObj,function(){

msgBox.showMsgOk(jsonObj.msg);

window.location="news.aspx";

},1);

}

});

});

<asp:ContentID="Content2"ContentPlaceHolderID="placeRight"runat="server">

<formid="fContent">

<%if (modNews!=null)

{%>

<inputtype="hidden"name="NID"value="<%=modNews.NID%>"/>

<%} %>

<strong>标题:<inputtype="text"name="nTitle"<%if (modNews==null){%>value=""<%}

else

{%>value="<%=modNews.NTitle%>"/><%} %>

</strong>

<strong>所属分类:<selectid="NcId"name="NcId"><%=MakeSelect() %></select></strong>

</form>

<textareaid="nEditor"name="nEditor">

<%if(modNews!=null) {Response.Write(modNews.NContent);}%>

</textarea>

<divstyle="float: left; margin-left: 40%; margin-right: 20px;">

<inputtype="button"id="btnAdd"value="保存并提交 "style="font-size: large"/>

</div>

<div>

<inputtype="button"id="btnCancel"value="放弃编辑 "style="font-size: large"/>

</div>

</asp:Content>

 

2.以上结果是在几个小时的折磨之后才得出来的,程序猿不容易啊!可这个期间会经过很多弯路,请看下面:

    2.1一开始是这样:textarea标签在form表单内,直接用Jquery中的serialize()序列化;

$("#btnAdd").click(function(){

//alert(GetContent());//测试使用

vardata=$("#fContent").serialize();//注意这一行

// alert(data);

$.ajax(targetUrl,{

data:data+"&nEditor="+GetContent(),//注意这一行

type:"post",

dataType:"json",

success:function(jsonObj){

ProcessData(jsonObj,function(){

msgBox.showMsgOk(jsonObj.msg);

window.location="news.aspx";

},1);

}

});

});

<formid="fContent">

<%if (modNews!=null)

{%>

<inputtype="hidden"name="NID"value="<%=modNews.NID%>"/>

<%} %>

<strong>标题:<inputtype="text"name="nTitle"<%if (modNews==null){%>value=""<%}

else

{%>value="<%=modNews.NTitle%>"/><%} %>

</strong>

<strong>所属分类:<selectid="NcId"name="NcId"><%=MakeSelect() %></select></strong>

<textareaid="nEditor"name="nEditor">/*textarea是在form表单里面的哦*/

<%if(modNews!=null) {Response.Write(modNews.NContent);}%>

</textarea>

</form>

 

        2.2可是结果很悲催啊,当我新添加一条新闻时,我明明填写了新闻标题和内容,为什么提示为空呢?难道被Web黑洞吸收了?我不相信,抱着坚定的信心寻找原因;

 

*************************************************

期间是艰难的思考期,撒尿的时候突然想到,textarea中的文本可能不能被serialize()序列化吧?

************************************************

        2.3我继续尝试了一下编辑新闻,"哈哈哈"是从数据库中读取到的内容,我新添加了一句之后,点