高手帮我看看这个XML的作用 高分啊,解决了送分

vinegardou 2010-09-16 09:52:34
var strXML= "<?xml version='1.0' encoding='UTF-8'?>" +
"<Query PID='" + <%= ProxyConstants.PID_CHOOSE_ARTICLE %> + "'>" +
"<PageIndex value='" + pageIndex + "'/>" +
"<QueryArticleType value='" + document.ShareDialog_choose_article.QueryArticleType.value + "'/>" +
"<ArticleNo value='" + document.ShareDialog_choose_article.ArticleNo.value + "'/>" +
"<CompanyNo value='0'/>"+// + window.opener.document.all("DesCompanyNo").value +
"<WarehouseNo value='0'/>"+//" + window.opener.document.all("DesWarehouseNo").value + "
"<ArticleCode value='" + replaceXmlParticularChar(document.ShareDialog_choose_article.ArticleCode.value) + "'/>"+
"<ArticleName value='"+ replaceXmlParticularChar(document.ShareDialog_choose_article.ArticleName.value) +"'/>"+
"<ArticleKind value='"+document.ShareDialog_choose_article.ArticleKind.value+"'/>"+
"<DealerArticleCode value='"+ replaceXmlParticularChar(document.ShareDialog_choose_article.DealerArticleCode.value) +"'/>"+
"<WorkArticleCode value='"+ replaceXmlParticularChar(document.ShareDialog_choose_article.WorkArticleCode.value) +"'/>"+
"<SupplyWarehouseCode value='"+ replaceXmlParticularChar(document.ShareDialog_choose_article.SupplyWarehouseCode.value) +"'/>"+
"</Query>";
var xmlDOM=new ActiveXObject("MSXML2.DOMDocument");
xmlDOM.async=false;
xmlDOM.loadXML(strXML);
这些干嘛用的?有什么作用啊?我看不懂,页面单击确定的时候就会执行这个javascript函数,完整的函数是这样子的
function ShareDialog_choose_article_onChange( kind ){
var pageIndex;
if( kind == 1 ) {
if(event.keyCode != 13) return;
pageIndex = 1;
document.ShareDialog_choose_article.QueryArticleType.value = 0;
}else if( kind == 2) {
pageIndex = parseInt(document.ShareDialog_choose_article.PageIndex.value) + 1;
}else if( kind == 3) {
pageIndex = parseInt(document.ShareDialog_choose_article.PageIndex.value) - 1;
if( pageIndex == 0 ) pageIndex = 1;
} else if( kind == 4 ) {
if( !checkHaveSelected() ) return;
pageIndex = 1;
document.ShareDialog_choose_article.QueryArticleType.value = 1;
} else {
pageIndex = 1;
document.ShareDialog_choose_article.QueryArticleType.value = 0;
}
//alert(window.opener.document.all("DesCompanyNo").value);
//alert(window.opener.document.all("DesWarehouseNo").value);
var strXML= "<?xml version='1.0' encoding='UTF-8'?>" +
"<Query PID='" + <%= ProxyConstants.PID_CHOOSE_ARTICLE %> + "'>" +
"<PageIndex value='" + pageIndex + "'/>" +
"<QueryArticleType value='" + document.ShareDialog_choose_article.QueryArticleType.value + "'/>" +
"<ArticleNo value='" + document.ShareDialog_choose_article.ArticleNo.value + "'/>" +
"<CompanyNo value='0'/>"+// + window.opener.document.all("DesCompanyNo").value +
"<WarehouseNo value='0'/>"+//" + window.opener.document.all("DesWarehouseNo").value + "
"<ArticleCode value='" + replaceXmlParticularChar(document.ShareDialog_choose_article.ArticleCode.value) + "'/>"+
"<ArticleName value='"+ replaceXmlParticularChar(document.ShareDialog_choose_article.ArticleName.value) +"'/>"+
"<ArticleKind value='"+document.ShareDialog_choose_article.ArticleKind.value+"'/>"+
"<DealerArticleCode value='"+ replaceXmlParticularChar(document.ShareDialog_choose_article.DealerArticleCode.value) +"'/>"+
"<WorkArticleCode value='"+ replaceXmlParticularChar(document.ShareDialog_choose_article.WorkArticleCode.value) +"'/>"+
"<SupplyWarehouseCode value='"+ replaceXmlParticularChar(document.ShareDialog_choose_article.SupplyWarehouseCode.value) +"'/>"+
"</Query>";
var xmlDOM=new ActiveXObject("MSXML2.DOMDocument");
xmlDOM.async=false;
xmlDOM.loadXML(strXML);

for(i=0; i< 10; i++) {
ArticleNos[1] = "";
ArticleCodes[i] = "";
ArticleNames[i] = "";
ArticleKindCodes[i] = "";
UsefulQtys[i] = "";
PrimePrices[i] = "";
Prices[i] = "";
}

<%

int endPos = request.getRequestURL().indexOf(request.getServletPath());
String urlHead = request.getRequestURL().substring(0,endPos);
%>
if(!xmlDOM.parseError.errorCode) {
var xmlHttp=new ActiveXObject("MSXML2.XMLHTTP");

xmlHttp.open("POST","<%= urlHead + ConfigConstants.PROXY_SERVLET_URL %>",false);
xmlHttp.send(xmlDOM);
xmlResult=xmlHttp.responseXML;

var workItemList = xmlResult.documentElement.childNodes;
for (var i=0; i < workItemList.length; i++) {
var node = workItemList.item(i);
var dataNodeMap = node.attributes;

ArticleNos[i] = dataNodeMap.item(0).text;
ArticleCodes[i] = dataNodeMap.item(1).text;
ArticleNames[i] = dataNodeMap.item(2).text;
ArticleKindCodes[i] = dataNodeMap.item(3).text;
UsefulQtys[i] = dataNodeMap.item(4).text;
PrimePrices[i] = dataNodeMap.item(5).text;
Prices[i] = dataNodeMap.item(6).text;
}
}
document.ShareDialog_choose_article.PageIndex.value = pageIndex;
showTable();
}

function showTable(){
for(var i=0; i< 10; i++) {
eval("document.ShareDialog_choose_article.ArticleNo" + i ).value = ArticleNos[i];
eval("document.ShareDialog_choose_article.ArticleCode" + i).value = ArticleCodes[i];
eval("document.ShareDialog_choose_article.ArticleName" + i).value = ArticleNames[i];
eval("document.ShareDialog_choose_article.ArticleKindCode" + i).value = ArticleKindCodes[i];
eval("document.ShareDialog_choose_article.UsefulQty" + i).value = UsefulQtys[i];
eval("document.ShareDialog_choose_article.PrimePrice" + i).value = PrimePrices[i];
eval("document.ShareDialog_choose_article.Price" + i).value = Prices[i];
}
}望高手帮帮忙。郁闷 只有70分了,不好意思
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
whywswsw 2010-09-16
  • 打赏
  • 举报
回复
估计有ajax调用的类来处理strXML的一串东西
yujinjin9 2010-09-16
  • 打赏
  • 举报
回复
这个用的是ajax技术ajax的好处就是不用刷新整个页面就可以调用后台,做到局部刷新,注意这段代码xmlHttp.open("POST","<%= urlHead + ConfigConstants.PROXY_SERVLET_URL %>",false)是中间的参数是要访问URL;xmlHttp.send(xmlDOM);发送解析的XML给后台;xmlResult=xmlHttp.responseXML;就是调用后台返回的内容然后用js解析。
valen_jia 2010-09-16
  • 打赏
  • 举报
回复
ajax呗
chayahua767 2010-09-16
  • 打赏
  • 举报
回复
我看这好像是AJAX技术做的
var xmlDOM=new ActiveXObject("MSXML2.DOMDocument");//调用了一个类或者属性文件
xmlDOM.async=false;
xmlDOM.loadXML(strXML);//加载了上面定义的字符串,用XML的形式

你应该还有很多文件没有贴出来,很多东西看不到!
vinegardou 2010-09-16
  • 打赏
  • 举报
回复
沙发自己坐,页面点击确定,怎么就得到数据库里的信息了?

81,116

社区成员

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

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