var oXMLDoctry
{ oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); //创建'MSXML'对象
}catch(e){
oXMLDoc = document.implementation.createDocument("text/xml", "", null);
}
var theUniqueID= 0;
var iTimerID=null; //这个变量是作定时器的IDfunction UploadData(d1)
{
theUniqueID = (new Date()).getTime() % 1000000000; // 清除原始数据
document.getElementById("PercentDone").style.width = "0%";
document.uploadimg_form.action = "/up_inc/demo.asp?ProgressID=" + theUniqueID +"&showID=" + d1; //处理上传数据的程序
//将提交的数据放在一个名字是upload隐藏的iframe里面处理,这样提交的页面就不会跳转到处理数据的页
document.uploadimg_form.target="upload"
document.uploadimg_form.submit(); //提交表单 ProgressBar(); //开始执行反映上传情况的函数}function ProgressBar()
{ sURL = "/Ucenter/up_inc/Progress_Xml.asp?ProgressID=" + theUniqueID + "&temp="+Math.random(); //获取上传状态数据的地址
oXMLDoc.onreadystatechange = Function( "fnLoadComplete();" );
oXMLDoc.async = true;
}问题在这一句
oXMLDoc.onreadystatechange = Function( "fnLoadComplete();" ); Function是一个什么函数?怎么用的?
为什么demo.asp上传完了,也用JS把上传后的地址传回parent了。这里依然没有调用?
{ oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); //创建'MSXML'对象
}catch(e){
oXMLDoc = document.implementation.createDocument("text/xml", "", null);
}
var theUniqueID= 0;
var iTimerID=null; //这个变量是作定时器的IDfunction UploadData(d1)
{
theUniqueID = (new Date()).getTime() % 1000000000; // 清除原始数据
document.getElementById("PercentDone").style.width = "0%";
document.uploadimg_form.action = "/up_inc/demo.asp?ProgressID=" + theUniqueID +"&showID=" + d1; //处理上传数据的程序
//将提交的数据放在一个名字是upload隐藏的iframe里面处理,这样提交的页面就不会跳转到处理数据的页
document.uploadimg_form.target="upload"
document.uploadimg_form.submit(); //提交表单 ProgressBar(); //开始执行反映上传情况的函数}function ProgressBar()
{ sURL = "/Ucenter/up_inc/Progress_Xml.asp?ProgressID=" + theUniqueID + "&temp="+Math.random(); //获取上传状态数据的地址
oXMLDoc.onreadystatechange = Function( "fnLoadComplete();" );
oXMLDoc.async = true;
}问题在这一句
oXMLDoc.onreadystatechange = Function( "fnLoadComplete();" ); Function是一个什么函数?怎么用的?
为什么demo.asp上传完了,也用JS把上传后的地址传回parent了。这里依然没有调用?
oXMLDoc.onreadystatechange = Function( "fnLoadComplete();" );
应该是一个回调,Function( "fnLoadComplete();" ); 应该返回一个函数
fnLoadComplete()是方法名称
function Function( fn ) {
if (eval(fn) typeof == "function") {
return eval("fn");
} else {
return function () {};
}
}
function fnLoadComplete()
{
var iReadyState;
try
{
iReadyState = oXMLDoc.readyState;
}
catch(e)
{
return;
}
if( iReadyState != 4 && iReadyState != "complete" ) return;
if( oXMLDoc == null || oXMLDoc.xml == "" )
{
window.status = 'Xml load fault';
return;
}
var oRoot = oXMLDoc.documentElement; //获取返回xml数据的根节点
if(oRoot != null)
{ if (oRoot.selectSingleNode("ErrorMessage") == null)
{
}
else
{
}
}}
这里的 oXMLDoc.documentElement总是取到为null这是为什么呢?
readState返回的是4