ajax方式提交form

思路:

1.创建一个iframe

if(window.ActiveXObject)

{

vario=document.createElement('<iframeid="'+frameId+'"name="'+frameId+'"/>');

if(typeofuri=='boolean'){

io.src='javascript:false';

}

elseif(typeofuri=='string'){

io.src=uri;

}

}

else

{

vario=document.createElement('iframe');

io.id=frameId;

io.name=frameId;

}

io.style.position='absolute';

io.style.top='-1000px';

io.style.left='-1000px';

document.body.appendChild(io);

2.将form的target设置为步骤1创建的iframe

3.为步骤1的iframe注册事件

if(window.attachEvent)

{

document.getElementById(frameId).attachEvent('onload',uploadCallback);

}

else

{

document.getElementById(frameId).addEventListener('load',uploadCallback,false);

}

4.获得返回的数据

varuploadCallback=function()

{

vario=document.getElementById(frameId);

try{

if(io.contentWindow)

{

xml.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;

xml.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;

}

elseif(io.contentDocument)

{

xml.responseText=io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;

xml.responseXML=io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;

}

}catch(e){}

5.根据不同的返回类型分别对返回的数据进行处理

相关推荐