Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   чтение xml без жкуиерити (https://javascript.ru/forum/misc/61523-chtenie-xml-bez-zhkuieriti.html)

leon2009sp 14.03.2016 22:58

ссылки идут как текст
 
Вложений: 1
ссылки не могу терь передать и загрузить файлы:
пр:
<xsl:for-each select="category/cat_a">
                        <ul>
                          <xsl:value-of select="@category"/>
						  <xsl:for-each select="marka">
						  
                              <li>
							<xsl:value-of select="@name"/> 	
							<xsl:value-of select="@link"/>							
                              </li>
                          </xsl:for-each>
                        </ul>
                </xsl:for-each>

они пишутся но в <a href> тоже текстом идут.
и если загружаешь как include использовать iframe?

leon2009sp 15.03.2016 14:53

document.getElementById("example").href = ex;

так не работает

leon2009sp 21.03.2016 08:02

при обработке формы выдает цифры:
<form action='' method='post' enctype='multipart/form-data'>
<script src='../js/search.js'></script>
<div class=new-select-style-wpandyou>
<select id=marka name=marka><option selected>Выберите_авто</option></select>
</div>
<div class=new-select-style-wpandyou>
<select id=model name=model>Выберите Модель</select>
</div>
</form>
echo "marka====".$s_marka."<br>";
echo "model====".$s_model."<br>";

и получается "marka" выдает слова которое берется из xml документа.
а модель выдает цифры :help:
пр: Марка = ferrari а модель = "0" или 1 или 2 от выбраного слова в модели.
как этого избежать????

destus 21.03.2016 08:09

а JS код на парсинг этой части?

leon2009sp 21.03.2016 08:16

$s_model =  substr(htmlspecialchars(trim($_POST['model'])), 0, 100);
$s_marka =  substr(htmlspecialchars(trim($_POST['marka'])), 0, 100);
echo "marka====".$s_marka."<br>";
echo "model====".$s_model."<br>";

function loadXMLDoc(filename) {
        if (window.ActiveXObject) {
            xhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        else {
            xhttp = new XMLHttpRequest();
        }
        xhttp.open("GET", filename, false);
        try { xhttp.responseType = "msxml-document" } catch (err) { } // Helping IE11
        xhttp.send(null);
        return xhttp.responseXML;
    }
    document.addEventListener('DOMContentLoaded', function () {
        var xml = loadXMLDoc("xml/db.xml"),
            selCity = document.querySelector('#marka'),
            selStation = document.querySelector('#model'),
            i;
        [].forEach.call(xml.querySelectorAll('marka'), function (el) {
            selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name')))
        })
        selCity.addEventListener('change', function () {
            selStation.options.length = 0 , i=0;
            [].forEach.call(xml.querySelectorAll('marka[name=' + this.value + '] > model'), function (el) {
                selStation.add(new Option(el.textContent, ++i));
            })
        })
    })

leon2009sp 21.03.2016 08:47

вот эта строчка отвечает за нумерацию
selStation.options.length = 0 , i=0;

но как на выходе сделать чтобы выдавала слова. а не нумерацию

destus 21.03.2016 08:57

leon2009sp,
xml ещё кинь

leon2009sp 21.03.2016 09:14

xml:
<?xml version="1.0" encoding="utf-8"?>
<category>
<cat_a category="Категория_A">
    <marka name="AC" link="ac/index.php" category="Категория_A">
		<model>AC</model>
		<model>Cobra</model>
	</marka>
	<marka name="Acura" link="acura/index.php">
		<model proba="1111111">CL</model>
		<model proba="222222">CSX</model>
		<model proba="233333">EL</model>
		<model>ILX</model>
		<model>Integra</model>
		<model>Legend</model>
		<model>MDX</model>
		<model>NSX</model>
	</marka>
    <marka name="Alfa_Romeo" link="alfaromeo/index.php">
		<model>145</model>
		<model>146</model>
		<model>147</model>
		<model>155</model>
	</marka>
</cat_a>
</category>

destus 21.03.2016 10:02

Ну потому что здесь
<marka name="Alfa_Romeo" link="alfaromeo/index.php">
        <model>145</model>
        <model>146</model>
        <model>147</model>
        <model>155</model>

идут цифры и el.textContent в строке 24 будет 145,146,147...

leon2009sp 21.03.2016 10:17

нет: даже если сделать так:
<?xml version="1.0" encoding="utf-8"?>
<category>
<cat_a category="Категория_A">
    <marka name="AC" link="ac/index.php" category="Категория_A">
		<model>AC</model>
		<model>Cobra</model>
	</marka>
	<marka name="Acura" link="acura/index.php">
		<model proba="1111111">CL</model>
		<model proba="222222">CSX</model>
		<model proba="233333">EL</model>
		<model>ILX</model>
		<model>Integra</model>
		<model>Legend</model>
		<model>MDX</model>
		<model>NSX</model>
	</marka>
    <marka name="Alfa_Romeo" link="alfaromeo/index.php">
		<model>вася</model>
		<model>петя</model>
		<model>маша</model>
		<model>толя</model>
	</marka>
</cat_a>
</category>

все ровно будет выдавать 0,1,2,3,4,5


Часовой пояс GMT +3, время: 00:22.