[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: динамические селекты
NoCash
доброго вермени суток форумчане.
имеется код
var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject()
{
var xmlHttp;
if (window.ActiveXObject)
{
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
xmlHttp = false;
}
}

else {
try {
xmlHttp = new XMLHttpRequest();
}
catch (e) {
xmlHttp = false;
}
}

if (!xmlHttp)
alert("Ошибка создания объекта XMLHttpRequest.");
else
return
xmlHttp;
}

function process()
{
if (xmlHttp) {
try {
sel21 = encodeURIComponent(document.getElementById("cat").value);
xmlHttp.open("GET", "doadd.php?id="+sel21, true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
}
catch (e) {
alert("Невозможно соединиться с сервером:\n"+e.toString());
}
}
}


function handleRequestStateChange()
{
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
try {
handleServerResponse();
}
catch (e) {
alert("Ошибка чтения ответа: "+e.toString());
}
}

else {
alert("Возникли проблемы во время получения данных:\n" + xmlHttp.statusText);
}
}
}


function handleServerResponse()
{
var xmlResponse = xmlHttp.responseXML;
xmlRoot = xmlResponse.documentElement;
titleArray = xmlRoot.getElementsByTagName("title");
isbnArray = xmlRoot.getElementsByTagName("isbn");
sel = document.getElementById("sub");
sel.options.length = 1;
for (var i=0; i<titleArray.length; i++) {
var newOption = document.createElement("OPTION");
newOption.value = titleArray.item(i).firstChild.data;
newOption.text = isbnArray.item(i).firstChild.data;
sel.options[i+1] = newOption;
newOption = null;
}
}

работет во всех браузерах кроме Ослика подскажите плиз как исправить проблему



Спустя 21 час, 45 минут, 27 секунд (23.04.2010 - 09:02) NoCash написал(а):
долго копался накопал только то что IE ругается на обьект толи найти не может по id толи еще чево в общем ругается на запись
 sel.options.length = 1;
Гуру вы где мне тут без вас точно не справиться выручайте!!!

Спустя 1 час, 6 минут, 53 секунды (23.04.2010 - 10:09) sergeiss написал(а):
Цитата (NoCash @ 23.04.2010 - 10:02)
sel.options.length = 1;

А длина разве не readonly???

Спустя 5 минут, 55 секунд (23.04.2010 - 10:15) NoCash написал(а):
помоему у селекта нет свойства хотя могу и ощибаться

Спустя 6 минут, 5 секунд (23.04.2010 - 10:21) sergeiss написал(а):
Да, нашел в описалове: только для чтения.

IE вообще более часто немного по-другому "смотрит". Другие браузеры, возможно, просто "тупо игнорируют" эту ошибку, а IE не мирится с ней.

Спустя 8 минут, 50 секунд (23.04.2010 - 10:30) NoCash написал(а):
ковыряя код спалил что ругань идет не на
sel.options.length = 1;

а на
 sel.options[i+1] = newOption;
если допустим написать вот так
sel.options.[i+1] = newOption; 
то ошибка в IE вылазит не будет но и значения в option записываться перестанут

Спустя 1 час, 56 минут, 35 секунд (23.04.2010 - 12:27) NoCash написал(а):
в общем IE не может получить данные из Arraу. Форумчане вы тут вообще а то у меня токое чувство что я тут сам с собой общаюсь. я конечно в курсе что сервис помоги себе сам намного офективнее, но взгялините сколько времени я на форуме. именно столько я пытаюсь изучать web програмирование
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.