Hoi,
Ik gebruik onderstaande code om wat te selecteren tussen gegevens uit de database... Dit selecteren gebreurt in do.php en dat vraag ik dus op via het XMLHttpRequest ding... Hij werkt in Firefox (2.0) en Opera (9.1). Maar niet in Internet explorer (6 en 7)
Ik gebruik hetzelfde op http://www.startprima.nl/dochters.php en daar doet hij het wel... Wat er mis gaat in IE is dat hij niks doet en onder in de status balk zegt: Fout op de pagina
Hoe kan ik dit oplossen??
<?php
// De <?php staat er even voor de kleurtjes ;)
<script type="text/javascript">
var xmlHttp
function GetXmlHttpObject(){
var objXMLHttp = null
if(window.XMLHttpRequest){
objXMLHttp = new XMLHttpRequest()
}
else if(window.ActiveXObject){
objXMLHttp = new ActiveXObject('Microsoft.XMLHTTP')
}
return objXMLHttp
}
// De dochters volgorde
function ShowDochters(str){
if(str.length == 0){
str = ''
}
xmlHttp = GetXmlHttpObject()
if(xmlHttp == null){
alert('Uw browser is niet geschikt voor dit systeem');
return
}
Ik zie zo snel de fout niet. Ik gebruik precies dezelfde functie om een activeXoject/httpRequest object aan te maken en dat werkt. Misschien ligt het aan de enkele quotes bij new ActiveXObject('Microsoft.XMLHTTP') dat zouden misschien dubbele moeten worden??
alert('GetXmlHttpObject - SUCCES');
var objXMLHttp = null
if(window.XMLHttpRequest){
objXMLHttp = new XMLHttpRequest()
}
else if(window.ActiveXObject){
objXMLHttp = new ActiveXObject('Microsoft.XMLHTTP')
}
return objXMLHttp
}
?>
Geeft hij een alert dat het goed is gegaan (dus alert() bovenaan in de functie)
als ik het zo doe
<?php
function GetXmlHttpObject(){
var objXMLHttp = null
if(window.XMLHttpRequest){
objXMLHttp = new XMLHttpRequest()
}
else if(window.ActiveXObject){
objXMLHttp = new ActiveXObject('Microsoft.XMLHTTP')
}
return objXMLHttp
alert('GetXmlHttpObject - SUCCES');
}
?>
Dus alert onderaan in de functie doet hij het niet...
Ik heb dit altijd het zelfde gelaten... en gebruik het op meerdere pagina's waar IE het wel goed doet...
Ik heb nu in het fouten raport van IE gelezen dat op regel 97 (in het script wat ik poste 31) de variabele url niet bestaat... of niet kan worden gebruikt ofzo...
Ik denk ik zet gewoon na
var xmlHttp
nog een keertje var url
Maar toen gaf IE de volgende fout: Onbekende runtime error
en dat was op de regel van document.getElementById('dochters').innerHTML = '<tr><td>Even gedult a.u.b. ...</td></tr>';
Jos, de term "hoeft niet" kun je beter vergeten denk ik... Het is een kleine moeite, en het is veel overzichterlijker om wel elke regel met een ; af te breken.
Arian, Lees even goed de post van Martijn... Die geeft je namelijk een heel duidelijk aanwijzing dat de fout mogelijk niet in de GetXmlHttpObject functie zit
Verder kun je innerHTML heel goed gebruiken, maar dan moet je wel even aangeven wat voor element je gebruikt. Volgens mij probeer je "<tr><td>tekst</td></tr>" toe te voegen aan een tabel, en dat is natuurlijk een hopeloos iets. In een tabel zelf zit namelijk geen HTML code, alleen in de cellen...
Als je hier via javascript iets wilt toevoegen kun je het bijvoorbeeld op de volgende manier doen: