Hej jeg har et lidt mærkeligt problemmed denne kode
<html>
<head>
<title></title>
<script language="javascript">
//var Ajax = getXMLObject();
function getXMLObject() {
var Ajax = null;
try {
Ajax = new XMLHttpRequest;
}
catch(e) {
try{
Ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
Ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
alert("Your Browser does not support the use of Ajax!");
}
}
}
return Ajax;
}
function getOptions(sprog) {
Ajax = getXMLObject();
if(Ajax)
switch(sprog){
case 'dansk':
Ajax.open("GET", "option1.xml", true);
Ajax.onreadystatechange = function() {
if(Ajax.readyState == 4 && Ajax.status == 200) {
var xmlDocument = Ajax.responseXML;
options = xmlDocument.getElementsByTagName('option');
listOptions();
}
}
Ajax.send(null);
break;
case 'engelsk':
if (Ajax)
Ajax.open("GET", "option2.xml", true);
Ajax.onreadystatechange = function() {
if(Ajax.readyState == 4 && Ajax.status == 200) {
var xmlDocument = Ajax.responseXML;
options = xmlDocument.getElementsByTagName('option');
listOptions();
}
}
Ajax.send(null);
break;
case 'tysk':
if (Ajax)
Ajax.open("GET", "option3.xml", true);
Ajax.onreadystatechange = function() {
if(Ajax.readyState == 4 && Ajax.status == 200) {
var xmlDocument = Ajax.responseXML;
options = xmlDocument.getElementsByTagName('option');
listOptions();
}
}
Ajax.send(null);
break;
default: alert("Parameteren i getOptions() findes ikke");
}
else{
alert("XMLHttpObject er ikka true");
}
}
function listOptions() {
selectControl = document.getElementById('optionList');
for(li=0; li < options.length; li++) {
selectControl.options[li] = new Option(options[li].firstChild.data);
}
}
</script>
</head>
<body>
<form>
<input type="button" value="English" onclick="getOptions('engelsk')" /> <br />
<input type="button" value="Danish" onclick="getOptions('dansk')" /> <br />
<input type="button" value="Tysk" onclick="getOptions('tysk')" /> <br />
<select name="options" id="optionList">
<option>Hilsen </option>
<option>Afsked </option>
<option>Tak</option>
</select>
</form>
<div id="newDiv">
</div>
</body>
</html>
Man kan godt skifte de forskellige ord ud i select boksen, men i firefox ændrer den ikke ordene i de forskellige kategorier, selvom jeg har ændret dem i XML filen.
Det sjove er så, at hvis jeg f.eks. ændrer option3.xml til option2.xml så ændrer den ordene til dem der er i option2.xml, men ikke til de ord som jeg har øndret dem til i option2.xml
Det virker lidt som om at FF har cachet xml filen, og ikke kan refresh den.
I Explorer laver den nogenlunde samme nummer, men her kan den dog lave ordene om, hvis jeg lukker explorer ned, og åbner siden igen.
Jeg forstår det ikke rigtigt, fordi på 2 computere derhjemme kan jeg nøjes med at ændre i xml filen, og så bare skifte ordene uden at skulle refresh siden.
Men heroppe på skolen fungerer det ikke helt efter hensigten.
Her er XML filerne
option1.xml
<?xml version="1.0"?>
<options>
<option>Hejsa</option>
<option>Farvel</option>
<option>Tak</option>
</options>
option2.xml
<?xml version="1.0"?>
<options>
<option>Hello</option>
<option>Goodbye</option>
<option>Thanks</option>
</options>
option3.xml
<?xml version="1.0"?>
<options>
<option>Hejsa</option>
<option>Auf</option>
<option>Danke</option>
</options>