- Автор темы
- #1
Вот пример кода (прошу прощения за большой объём)
Он поддерживается такими браузерами как IE7, Opera 9, Mozilla Firefox 1.5
Я не специалист в JS, в основном программирую на PHP,
но вот столкнулся с необходимостью применить XMLhttpRequest в веб приложении.
Так вот, возможно ли как нибудь поправить данный код, что бы он работал в других браузерах, например IE6
Он поддерживается такими браузерами как IE7, Opera 9, Mozilla Firefox 1.5
Я не специалист в JS, в основном программирую на PHP,
но вот столкнулся с необходимостью применить XMLhttpRequest в веб приложении.
Так вот, возможно ли как нибудь поправить данный код, что бы он работал в других браузерах, например IE6
HTML:
//Copyright (c) 2006 Ismail Ata KURT (http://blog.livaxmedia.com)
function ajaxGet(file,obj){
var xmlObj = null;
if(window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
} else if(window.ActiveXObject){
try {
xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return;
}
}
} else {
return;
}
xmlObj.onreadystatechange = function(){
if(xmlObj.readyState == 4){
var result = xmlObj.responseText
updateObj(obj, result);
}
}
document.getElementById(obj).innerHTML="<img src=\"yukleniyor.gif\">";
xmlObj.open ('GET', file, true);
xmlObj.send ('');
}
function ajaxSend(file,obj,form_name,param) {
var xmlObj = null;
//var param = null;
var stmp = null;
var i = 0;
var s = 0;
//alert(document.getElementById(form_name).length);
form = document.getElementById(form_name);
for(i=0;i<=form.length-1;i++) {
//alert(form.elements[i].name+"/"+form.elements[i].type);
switch (form.elements[i].type) {
case "text":
if(param!=null) {
param+=("&"+form.elements[i].name+"="+encodeURI(form.elements[i].value));
} else {
param=(form.elements[i].name+"="+encodeURI(form.elements[i].value));
}
break;
case "password":
if(param!=null) {
param+=("&"+form.elements[i].name+"="+encodeURI(form.elements[i].value));
} else {
param=(form.elements[i].name+"="+encodeURI(form.elements[i].value));
}
break;
case "hidden":
if(param!=null) {
param+=("&"+form.elements[i].name+"="+encodeURI(form.elements[i].value));
} else {
param=(form.elements[i].name+"="+encodeURI(form.elements[i].value));
}
break;
case "radio":
//alert(form.elements[i].name.length);
if(param!=null) {
if(form.elements[i].checked==true) {
param+=("&"+form.elements[i].name+"="+encodeURI(form.elements[i].value));}
} else {
if(form.elements[i].checked==true) {
param=(form.elements[i].name+"="+encodeURI(form.elements[i].value));}
}
break;
case "select-one":
if(param!=null) {
param+=("&"+form.elements[i].name+"="+encodeURI(form.elements[i].options[form.elements[i].selectedIndex].value));
} else {
param=(form.elements[i].name+"="+encodeURI(form.elements[i].options[form.elements[i].selectedIndex].value));
}
break;
case "checkbox":
if(param!=null) {
param+=("&"+form.elements[i].name+"="+encodeURI(form.elements[i].checked));
} else {
param=(form.elements[i].name+"="+encodeURI(form.elements[i].checked));
}
break;
case "select-multiple":
//alert(form.elements[i].length);
for(s=0;s<form.elements[i].length;s++) {
if(form.elements[i].options[s].selected==true) {
if(stmp==null) {
stmp=form.elements[i].options[s].value;} else {
stmp+="|"+form.elements[i].options[s].value
}
}
}
if(stmp==null) { stmp=-1;}
if(param!=null) {
param+=("&"+form.elements[i].name+"="+encodeURI(stmp));
} else {
param=(form.elements[i].name+"="+encodeURI(stmp));
}
break;
case "textarea":
if(param!=null) {
param+=("&"+form.elements[i].name+"="+encodeURI(form.elements[i].value));
} else {
param=(form.elements[i].name+"="+encodeURI(form.elements[i].value));
}
break;
}
}
if(window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
if (xmlObj.overrideMimeType) {
xmlObj.overrideMimeType('text/html');
}
} else if(window.ActiveXObject){
try {
xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return;
}
}
} else {
return;
}
xmlObj.onreadystatechange = function(){
if(xmlObj.readyState == 4){
if(xmlObj.status == 200) {
var result = xmlObj.responseText
updateObj(obj, result);
}
}
}
document.getElementById(obj).innerHTML="<img src=\"yukleniyor.gif\">";
xmlObj.open('POST', file, true);
xmlObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlObj.setRequestHeader("Content-length", param.length);
xmlObj.setRequestHeader("Connection", "close");
xmlObj.send(param);
}
function updateObj(obj, data){
//alert(data);
document.getElementById(obj).innerHTML=data;
}