Dit scriptje vond ik op het net. Maar deze doet het niet echt goed..

Wat is er fout aan?


<body>
<h1>Using Ajax and XML</h1>

<form>
<select size="1" id="optionList" onchange="setOption()">
<option>Select a scheme</option>
</select>
<input type = "button" value = "Use color scheme 1" onclick = "getOptions1()">
<input type = "button" value = "Use color scheme 2" onclick = "getOptions2()">
</form>

<div id="targetDiv" width=100 height=100>Color this text.</div>

</body>

<script language="javascript">
var options;

function getOptions1()
{
if(XMLHttpRequestObject){
XMLHttpRequestObject.open("GET","options1.php", true);

XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
var xmlDocument = XMLHttpRequestObject.responseXML;
options = XMLDocument.getElementsByTagName("option");
listOptions();
}
}

XMLHttpRequestObject.send(null);
}
}

function listOptions()
{
var loopIndex;
var selectControl = document.getElementById('optionList');

for(loopIndex = 0; loopIndex < options.lenght; loopIndex++)
{
selectControl.options[loopIndex] = new
Option(optiions[loopIndex].firstChild.data);
}
}

function setOption()
{
document.getElementById('targetDiv').style.color = options[document.getElementById('optionList').selectedIndex].firstChild.data;
}
</script>


////////////////////
options1.php
////////////////////
<?php
header("Content-type: text/xml");
$options = array('red', 'green', 'blue');
echo '<?xml version="1.0"?>';
echo '<options>';
foreach ($options as $value)
{
echo '<option>';
echo $value;
echo '</option>';
}
echo '</options>';
?>

en options2 is gwn met andere kleuren.

Maar wat is er nu fout aan het options.html?
Ik zag juist dat mijn rechterteennagel gelig is. Wat is er fout aan?

Met andere woorden: wat zou hij moeten doen en wat doet hij nu (niet)?
Het doet helemaal niets dat is het probleem... Normaal gegzin gaat hij het php bestand aanspreken om een kleuren schema op te halen in xml formaat. Vervolgens komt dit in een dropdown terecht en kan je er een van kiezen en dan verkleurd de tekst in de div. Was een oefening op ajax-xml-php maar het doet het dus niet en zou dus willen weten waarom. BTW met de php is niks mis; ik vrees echter we met de javascript/ajax vermits ik daar nog in de leer mee ben.
Ten eerste, zet alle scripts in de header, ten tweede, waar maak je XMLHttpRequestObject aan? Ik zie het nergens.
Ik heb dit script rechtstreeks uit een boek en internet cursus... Hoe moet ik dan dat XMLHttpRequestObject aanmaken? in de header zetten zal me wel lukken alleen dat object dan aanmaken...
nu he ik nog altijd geen idee hoe ik dat object maak...

is het dit dan?

XMLHttpRequestObject.open("GET","options1.php", true);
Kijk nou eens even naar de google pagina, de helft van de resultaten is waar je naar vraagt en dat is alleen al de eerste pagina.
Maar ik weet niet waarachter ik zoek...

Wat moet er nog bij volgens jou?
'waar maak je XMLHttpRequestObject aan?'

===>XMLHttpRequestObject.open("GET","options1.php", true);

Ik dacht dat je dit bedoelde maar dus niet wat dan wel?...

Reageren