浏览 355 次
|
该帖已经被评为隐藏帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-04-03
现在遇到一个棘手的问题
grid中的数据如何提交给后台?能否像form那样提交给后台? 我现在的做法是在前台将grid中的数据提取生成一个字符串,然后将字符串附在url后边提交给后台,这样如果grid中数据很多,字符串就很长,可是url负载不了这么长的字符串,无法提交。 请赐教,最好能提供代码示例 不胜感激 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-04-03
我的做法是将grid中的数据通过客户端脚本取出来,然后将其保存在xml中.
然后利用ajax技术将数据以xml格式发送到服务器端. 在服务器端接受xml并解析xml,还原数据就可以了. 不知道这样对你是否有帮助 |
|
| 返回顶楼 | |
|
最后更新时间:2008-04-03
demo.js
------------------------------------------------------------------- function AddAcountant() { var Xml="<info>"; var OtherInfo=""; var note="note="; var table=document.getElementById("table1"); var rowCount=table.rows.length; var txt_zhaiyao;//摘要 var txt_kemuName;//科目名字 var txt_kemuCode;//科目编号 var txt_jie;//借方 var txt_dai;//贷方 var jie_count=CountMoney(2);//借方统计 var dai_count=CountMoney(3);//贷方统计 var txt_fujian=document.getElementById("fujian").value; var txt_zhidan=document.getElementById("zhidan").value; var txt_zhuguan=document.getElementById("zhuguan").value; var txt_chuna=document.getElementById("chuna").value; var txt_shengxiao=document.getElementById("shengxiao").value; var txt_beizhu=document.getElementById("beizhu").value; //检查用户输入数据的合法性 if(jie_count==dai_count) { //循环获取表格信息,并保存为xml格式的数据 for(var j=1;j<rowCount;j++) { txt_zhaiyao=table.rows[j].cells[0].childNodes[0].value; txt_kemuName=table.rows[j].cells[1].childNodes[0].value;//显示给用户看的 txt_kemuCode=table.rows[j].cells[1].childNodes[1].value;//程序要取的值,保存在隐藏域 txt_jie=table.rows[j].cells[2].childNodes[0].value; txt_dai=table.rows[j].cells[3].childNodes[0].value; if(txt_zhaiyao!="" && txt_kemuName!="" && txt_jie!="" || txt_zhaiyao!="" && txt_kemuName!="" && txt_dai!="") { Xml+="<row>"+"<zhaiyao>"+txt_zhaiyao+"</zhaiyao>"+"<kemuName>"+txt_kemuName+"</kemuName>"+"<kemuCode>"+txt_kemuCode+"</kemuCode>"+"<jie>"+txt_jie+"</jie>"+"<dai>"+txt_dai+"</dai>"+"</row>"; } else if(txt_zhaiyao=="" && txt_kemuName=="" && txt_jie=="" && txt_dai=="") { } else { alert("凭证填写有误,请检查。"); return; } } } else { alert("借贷双方总金额不等。"); return; } Xml+="</info>" //将表格以外的信息保存在变量,并在最后附加在Url地址后面 OtherInfo="fujian="+txt_fujian+"&zhidan="+txt_zhidan+"&zhuguan="+txt_zhuguan+"&chuna="+txt_chuna+"&shengxiao="+txt_shengxiao+"&beizhu="+txt_beizhu; //调用Ajax GetData(Xml,OtherInfo); } //Ajax方法开始 var request; function GetData(Xml,OtherInfo) { if(window.ActiveXObject) { request=new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHTTPRequest) { request=new XMLHTTPRequest(); } var url="SaveData.aspx?"+OtherInfo; request.open("POST",url,true); request.; request.setRequestHeader( "Content-type","application/x-www-form-urlencoded"); request.send(Xml); } function Search() { if(request.readyState==4) { if(request.status==200) { var Info=request.responseText; alert(Info); } } } |
|
| 返回顶楼 | |
|
最后更新时间:2008-04-04
将grid中修改过的记录组装成一个json串,提交后在服务器端用json类库(http://www.json.org/)处理这个串就可以了,具体参考:
http://blog.csdn.net/xujiaqiang/archive/2007/07/03/1677366.aspx |
|
| 返回顶楼 | |


