///////////////////////////////////////////////////////////////////////////////////////////
// 主要实现iframe模拟xmlhttprequest,实现无刷新提交
///////////////////////////////////////////////////////////////////////////////////////////
var currentRequest = null;
/**
*页面onload时绑定隐藏iframe
*返回值:无
*/
function initAjaxRequestBox(){
var div = null;
div = document.createElement("div");
div.id = "myAjaxResultBox";
div.innerHTML = "";
document.body.appendChild(div);
}
if(window.document.all){
window.attachEvent("onload" ,
function(e){
initAjaxRequestBox()
}
);
}else{
window.addEventListener("load",
function(e){
initAjaxRequestBox()
},
false
);
}
/**
*提交请求后,结果返回事件触发
*返回值:无
*/
function myAjaxResultFrame_onResult(){
var myFrame = document.getElementsByName('myAjaxResultFrame')[0];
if(myFrame.inited==true){
if(myFrame.contentWindow.document.getElementById("XMLHttpResultDiv")){
var text = myFrame.contentWindow.document.getElementById("XMLHttpResultDiv").innerHTML;
}else{
var text = myFrame.contentWindow.document.body.innerHTML;
}
currentRequest.setText(text);
currentRequest.onresult();
}else{
myFrame.inited = true;
}
}
/**
*AjaxRequest对象
*_method: 值post/get 和form使用方法一致
*_url: 值string 和form的action一致
*_async: 值false/true同步/异步 由于是iframe提交,没有异步
*/
function AjaxRequest(_method,_url,_async){
var oThis = this;
var value = null;
var text = null;
var _form = document.getElementById("myAjaxRequestForm");
if(_form){
_form.removeNode(true);
}
_form = document.createElement("form");
document.body.appendChild(_form);
_form.method = _method;
_form.action = _url;
_form.target = "myAjaxResultFrame";
currentRequest = oThis;
//input参数传递
this.setParameter = function(name,value) {
var _input = document.createElement("input");
_input.name=name;
_input.value=value;
_input.type="hidden";
_form.appendChild(_input);
}
//url参数传递
this.send = function(v){
if(v==null || v==""){
_form.submit();
}else{
var parts = v.split('&');
for(var i=0;i