|
|
|
|
function GetId(inputValue, fieldID) {
var req;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
alert(req);
}
|
В других броузерах объект создается, в IE - не хочет. Почему? | |
|
|
|
|
|
|
|
для: Лена
(08.04.2010 в 13:21)
| |
function XHR() {
var ob = null;
if (window.XMLHttpRequest) try {ob = new XMLHttpRequest} catch (c) {}
else if (window.ActiveXObject)
for (var d = 0, b; b = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"] [d++];)
try { ob = new ActiveXObject (b); break} catch (c) {}
return ob;
}
|
Работает везде. | |
|
|
|
|
|
|
|
для: AlexShag
(08.04.2010 в 17:39)
| | Делаю так:
Ставлю вашу функцию
Вызываю ее внутри моей:
function GetId(inputValue, fieldID) {
var req;
req = XHR();
}
Перестает работать вообще, не только в IE. | |
|
|
|
|
|
|
|
для: Лена
(13.04.2010 в 10:49)
| | Надо смотреть исходники. Там собака порылась где то в другом месте а не в AJAX. И ещё. Объект для работы с AJAX нужно объявлять как глобальную переменную. Один раз его создать и потом всё время юзать. | |
|
|
|
|
|
|
|
для: Лена
(08.04.2010 в 13:21)
| | Вам в свой код надо добавить попытку создания еще и вот такого объекта:
req = new ActiveXObject("Msxml2.XMLHTTP");
|
Разные версии IE используют два разных парсера XML: Msxml2.XMLHTTP и Microsoft.XMLHTTP, это зависит от версии JS, установленной в IE. Суть такова, что в IE надо пробовать создавать объекты двух разновидностей. | |
|
|
|
|
|
|
|
для: vtos
(10.04.2010 в 17:34)
| | А как мне поставить условие, чтобы в зависимости от условия создавался нужный объект?
function GetId(inputValue, fieldID) {
var req;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
//вопрос про эти две строки
req = new ActiveXObject("Microsoft.XMLHTTP");
req = new ActiveXObject("Msxml2.XMLHTTP");
}
if (req) {
//дальше идет построение запроса к серверу
}
|
В ИЕ начало работать, но не так, как бы хотелось.
У меня идет подряд 8 чекбоксов.
Если я отмечаю один из них - ничего не происходит. Как только отмечаю второй - срабатывает первый, отмечаю третий - срабатывает второй и т.д.
В других броузерах все нормально. | |
|
|
|
|
|
|
|
для: Лена
(13.04.2010 в 10:47)
| | Обратите, пожалуйста, внимание вот на эту фразу AlexShag:
>Надо смотреть исходники. Там собака порылась где то в другом месте а не в AJAX. И ещё. Объект для работы с AJAX нужно объявлять как глобальную переменную. Один раз его создать и потом всё время юзать. | |
|
|
|