ASP+AJAX+XML解决大容量表单源代码码,符注释,共享了~~

bing475879749 2009-05-04 02:19:20
完整操作代码打包下载地址:http://download.csdn.net/source/1270171
最近因为遇到普通的AJAX提交表单,如果某个表单的内容过长就提交不了,还有表单元素过多操作也不方便,于是弄个个完整的代码,包括数据库也附上了,代码简单!

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>asp+ajax+xml提交大容量,多元素表单源码</title>
<script language=javascript>
function init(myurl,callback){
var signatures=["Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","Msxml2.DOMDocument","Microsoft.XmlDom"];
for(var i=0;i<signatures.length;i++)
{
try{var domDoc = new ActiveXObject(signatures[i]);} catch(e){ }
}
var roots= domDoc.createElement("roots");
var content= domDoc.createElement("content");
content.text= document.getElementById("content").value;
roots.appendChild(content);
var names= domDoc.createElement("names");
names.text= document.getElementById("names").value;
roots.appendChild(names);
domDoc.appendChild(roots);
alert(domDoc.xml);//到这里为止,上面的代码都是操作XML
var xmlhttp;
try{
xmlhttp = new XMLHttpRequest();//非IE浏览器新建xmlhttp对象
}catch(e){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器新建xmlhttp对象
}
xmlhttp.onreadystatechange = function(){
if(4 == xmlhttp.readyState){
if(200 == xmlhttp.status){
var date = xmlhttp.responseText;//得到a.asp的网页内容,这句可以要可以不要
callback(xmlhttp);//这里是调用info()这个函数
}else{
alert("冒似有错");
}
}
}
xmlhttp.open("POST",myurl,true);
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlhttp.send (domDoc);//发送domDoc到a.asp
}
function info(){
alert("成功了完成提交");
}
</script>
</head>
<body>
<textarea id="content" name="content" cols="60" rows="10"></textarea><br>
<input id="names" type="text" value="" />
<input name="" type="button" onClick="init('a.asp',info)" value=" 提 交 ">
</body>
</html>


a.asp
<!--#include file="conn.asp" -->
<%
Set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")'新建xmldoc对象
xmlDoc.Async=False '这里是同步的意思,async是异步的意思,async=false就是同步了
xmlDoc.load request'获取index.html传过来的XML文档
Set content = xmlDoc.selectSingleNode("/roots/content")'取content节点
Set names = xmlDoc.selectSingleNode("/roots/names")'取names节点
sql = "select * from [users]"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,3
rs.addnew
rs("content")=content.Text'content的节点的内容
rs("names")=names.Text'names的节点的内容
rs.update
Set username=Nothing
Set names=Nothing
Set xmlDoc=Nothing
rs.close
set rs=nothing
%>
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
snownest 2012-07-06
  • 打赏
  • 举报
回复
下载不了,怎么回事?
gjj_zj 2011-10-21
  • 打赏
  • 举报
回复
骗子 扣了我5分 还下载不了
gjj_zj 2011-10-21
  • 打赏
  • 举报
回复
下载不了啊
qq6212639 2009-05-04
  • 打赏
  • 举报
回复
要了,O(∩_∩)O谢谢
bing475879749 2009-05-04
  • 打赏
  • 举报
回复


其实我也是AJAX新手,如果哪里注泽的不对,还望高手们指正

沙发自己坐了

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧