i make html with js that load my xml file. now i have button that move to next node on every click. how i make previus button the go back on every click on it.
<html>
<head>
<title>ReadingXmlFile</title>
<link href="StyleSheet.css" rel="stylesheet" />
</head>
<body>
<center><h1>XML FILE</h1></center>
<input id="next" type="button" value="LoadXml" onclick="readXML()" />
<input id="previous" type="button" value="previus" onclick="readXML()" />
<div>
<p id="demo"></p>
</div>
<script type="text/javascript">
var i = 0;
function readXML() {
var xml = new XMLHttpRequest();
xml.open('GET', 'XMLFile.xml', false);
xml.send();
var xmlData = xml.responseXML;
if (xmlData) {
xmlData = (new DOMParser()).parseFromString(xml.responseText, 'text/xml');
var det = xmlData.getElementsByTagName("mydetails");
var name = det[i].getElementsByTagName("name")[0].firstChild.data;
var city = det[i].getElementsByTagName("city")[0].firstChild.data;
var bio = det[i].getElementsByTagName("bio")[0].firstChild.data;
document.getElementById("demo").innerHTML = "Name: " + name + "<br>" + "City: " + city + "<br>" + "Bio: " + bio;
i++;
}
}
</script>
</body>
</html>
XMLHttpRequestis Async, you need to change the code. Assume that is why you haveif(xmlData)as this problem is occuring.