Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2009, 16:33
Новичок на форуме
Отправить личное сообщение для davlas Посмотреть профиль Найти все сообщения от davlas
 
Регистрация: 20.08.2009
Сообщений: 9

Двумерный массив. Есть ли отличия?
Здравствуйте, уважаемые. Пожалуйста помогите найти где "собака порылась?"
отличается ли массив, полученный из xml от того, что нужно?
может в xml что-то не то?
Вот то, "что нужно" - двумерный массив (к примеру, о семейном положении)
arrOptions=new Array(
  ["not specified","1"],
  ["single","2"],
  ["in a long-term relationship","3"],
  ["engaged","4"],
  ["married","5"],
  ["divorced","6"],
  ["separated","7"],
  ["widowed","8"]
);

Вот пример того, как получаю значения в этот массив из json строки (работает идеально. пишу сюда чтобы не показаться совсем уж идиотом и ламером /*а может кому пригодится*/) -
TempArrOptions={"marital":[["not specified","1"],["single","2"],["in a long-term relationship","3"],["engaged","4"],["married","5"],["divorced","6"],["separated","7"],["widowed","8"]]};
arrOptions=TempArrOptions.marital;


А вот так - из xml файла -
вот xml файл:
<?xml version="1.0" encoding="ISO-8859-1" ?> 
     <Items>
          <Item>
               <Name>not specified</Name> 
               <ID>1</ID> 
          </Item>
         <Item>
               <Name>single</Name> 
               <ID>2</ID> 
         </Item>
...... и так далее ......
  </Items>


var xml;  
    if(window.XMLHttpRequest) {  
        xml=new window.XMLHttpRequest();  
        xml.open("GET", "marital.xml", false);  
        xml.send("");  
        TempArrOptions = xml.responseXML;  
    } else if(window.ActiveXObject) {  
             xml=new ActiveXObject("Microsoft.XMLDOM");  
             xml.async=false;  
             xml.load("marital.xml");  
            TempArrOptions = xml;
    } else {  
             alert("Загрузка XML не поддерживается браузером");  
	};  

	var towns = TempArrOptions.getElementsByTagName("Name");
	var arrOptionsPre = new Array();
 	if(towns)  
	var arr2;
	for(var i=0; i<towns.length; i++) {  
		var x = new Array();

		x[0] = towns.item(i).firstChild.data;
		x[1] = i+1;

		arr2=arrOptionsPre.concat(x);
		arrOptionsPre=arr2;
 	}  
	
	arrOptions=arrOptionsPre;

Последний раз редактировалось Octane, 20.08.2009 в 19:28. Причина: используйте bb-коды [html] и [js]
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2009, 17:24
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Вкурсе, что ваша функция загрузки xml не кросс-браузерна?! Используйте AJAX, Content-type: text/xml.
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2009, 18:06
Новичок на форуме
Отправить личное сообщение для davlas Посмотреть профиль Найти все сообщения от davlas
 
Регистрация: 20.08.2009
Сообщений: 9

Да, как бы, в 3-х браузерах смотрел. везде одинаково.
Беда в том, что одинаково во всех браузерах массив, полученный из XML не ложится как в двух предыдущих случаях.
Неужели это зависит от того, что
после строчки
xml.open("GET", "cities.xml", false);
написать
xml.setRequestHeader('content-type', 'text/xml');
???

Ну написал. результат тот же.

А насчет кроссбраузерности - не ощутил.
Или я чего то не "втыкаю"?
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2009, 18:12
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

ActiveX есть только в ИЕ.

Ещё оформите свой код. Потом будем смотреть.
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2009, 18:22
Новичок на форуме
Отправить личное сообщение для davlas Посмотреть профиль Найти все сообщения от davlas
 
Регистрация: 20.08.2009
Сообщений: 9

Ну вот же:
--------------------------------
var xml;
if(window.XMLHttpRequest) {
xml=new window.XMLHttpRequest();
xml.open("GET", "marital.xml", false);
xml.setRequestHeader('content-type', 'text/xml');
xml.send("");
TempArrOptions = xml.responseXML;
} else if(window.ActiveXObject) {
xml=new ActiveXObject("Microsoft.XMLDOM");
xml.async=false;
xml.load("marital.xml");
TempArrOptions = xml;
} else {
alert("Загрузка XML не поддерживается браузером");
};
-------------------------
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2009, 18:24
Новичок на форуме
Отправить личное сообщение для davlas Посмотреть профиль Найти все сообщения от davlas
 
Регистрация: 20.08.2009
Сообщений: 9

как надо оформить?
Ответить с цитированием
  #7 (permalink)  
Старый 20.08.2009, 18:28
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от davlas
как надо оформить?
Ну почитайте форум, посмотрите, как код оформляют. На кнопочки в форме ответа гляньте.
Ответить с цитированием
  #8 (permalink)  
Старый 20.08.2009, 18:40
Новичок на форуме
Отправить личное сообщение для davlas Посмотреть профиль Найти все сообщения от davlas
 
Регистрация: 20.08.2009
Сообщений: 9

Извините, если кого обидел. Так лучше?
var xml;
if(window.XMLHttpRequest) {
xml=new window.XMLHttpRequest();
xml.open("GET", "marital.xml", false);
xml.setRequestHeader('content-type', 'text/xml');
xml.send("");
TempArrOptions = xml.responseXML;
} else if(window.ActiveXObject) {
xml=new ActiveXObject("Microsoft.XMLDOM");
xml.async=false;
xml.load("marital.xml");
TempArrOptions = xml;
} else {
alert("Загрузка XML не поддерживается браузером");
};
Ответить с цитированием
  #9 (permalink)  
Старый 20.08.2009, 19:10
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от davlas
Так лучше?
Хуже на самом деле. Нужно редактировать ранее созданный пост, а то мусор один.

upd: лишние посты (мусор) можно удалить.
Ответить с цитированием
  #10 (permalink)  
Старый 20.08.2009, 20:25
Новичок на форуме
Отправить личное сообщение для davlas Посмотреть профиль Найти все сообщения от davlas
 
Регистрация: 20.08.2009
Сообщений: 9

Всем спасибо. Разобрался сам.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
многомерный массив jei Общие вопросы Javascript 17 20.08.2009 16:41
Подскажите, есть ли такая CMS greatilya Оффтопик 1 01.08.2009 21:05
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
ассоциативный массив где ключ это год или ..... Sandr Общие вопросы Javascript 8 18.07.2008 15:39
есть ли global в javascript scuter Общие вопросы Javascript 21 11.04.2008 21:48