powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / кроссбраузерная обработка XML в jscript
3 сообщений из 3, страница 1 из 1
кроссбраузерная обработка XML в jscript
    #34979200
karambol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем столкнулся с банальной проблемой кроссплатформенности.
Подскажите плс, ссылку на хороший tutorial по этому вопросу.
Вот код. как под firefox можно переделать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
<script language="JavaScript">
function add_elem_to_combo(fcombo, value, text,i)
{
	var parensel= document.getElementById(fcombo);
	var elem = document.createElement("option");
	elem.value = value;
	elem.text = text;
	parensel.options.add(elem);
}


function getComboFromXML(path, combo, xmlStr)
{

// code for IE
		if (window.ActiveXObject)
		  {
		  //Msxml2.DOMDocument
		  xmlDoc=new ActiveXObject("Msxml2.DOMDocument");
		  xmlDoc.async=false;
		  xmlDoc.load(xmlStr);
		  }
		// code for Mozilla, Firefox, Opera, etc.
		else if (document.implementation &&
		document.implementation.createDocument)
		  {
		  xmlDoc=document.implementation.createDocument("","",null);
		  xmlDoc.load(xmlStr);
		  }

		//alert('asd');
		// î÷èùàåì combo
		var selection= document.getElementById(combo);
		selection.options.length =  0 ;
		selection.options[ 0 ]=new Option("----", "", false, false);
		
		var child = 'option'; 
		
		//var oSelct = xml.selectSingleNode(path);
		var oSelct = xmlDoc.documentElement;
		//var oSelct = xmlDoc.getElementsByTagName(child);
		
		if( !oSelct || !oSelct.hasChildNodes() ) return;
		var oNodes;
			var val ;
			var txt ;
		//alert('klp');	
		oNodes = oSelct.selectNodes(child);
		
		for( var j =  0 ; j < oNodes.length; j++ )
		{
			text = oNodes.item(j).attributes( 0 ).value;
			val = oNodes.item(j).attributes( 1 ).value;
			//alert(val);
			//txt = oNodes.item(j).getAttribute("text");
			add_elem_to_combo(combo, val, text,j);
		}

}

 </script>

Xml-ка имеет следующий вид:
Код: plaintext
1.
2.
3.
4.
<select>
  <option text="1-к.кв." value="1" />
  <option text="2-к.кв." value="2" />
  <option text="3-к.кв." value="3" />
</select>

При выборе значения из одного списка - заполняется второй. Вот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
                                         <select name="rub22" id="rub22">
                                                <option value="">Все</option>
                                              </select>
											  
                                              <select name="selecte" OnChange="javascript: getComboFromXML('select', 'rub22', 'select.xml');">
                                                <option value="1"> 1 </option>
                                                <option value="3"> 2 </option>
                                              </select>

Вобщем ни mozilla, firefox не понимает нифига "selectNodes" :( Дурдом блин.
...
Рейтинг: 0 / 0
кроссбраузерная обработка XML в jscript
    #34981666
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, что касается selectNodes, они в этом сильно отличаются.
http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator
...
Рейтинг: 0 / 0
кроссбраузерная обработка XML в jscript
    #34988562
karambol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мда... тяжелый случай. Вобщем, лучше обрабатывать на стороне сервера и загонять готовый код в отдельный блок. Обрабатывать на стороне клиента - сума сойти можно. Или я не прав?


Час пик b4b Пластик
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / кроссбраузерная обработка XML в jscript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]