Het gaat om de onderstaande code en dan vooral om function checkFab() en getContent().
getContent wordt aangeroepen en het komt aan, en dan wordt getContent() ook uitgevoerd.
Het gekke is: als ik in checkFab() of getContent() een alert plaats dan is alles koek en ei want als ik op OK klik van de alert verschijnt de content op het scherm. Maar als ik de alerts weg haal dan verschijnt het niet.... ook geen foutmelding in Web Developer toolbar van FireFox.... in de andere browsers gebeurt hetzelfde...
var fabselect;
var xmlHttpmerk;
var xmlHttpfab;
var evalFab;
var evalContent;
var myShop2;
var myShop;
function showDropdown(){
function stateChangedmerk()
{
function stateChangedfab()
{
function checkFab(){
function getcontent(){
//de value is altijd zonder quotes als er geen spatie in de waarde voorkomt, er zijn wel quotes als de fabrikant uit 2 woorden bestaat
function select_innerHTML(objeto,innerHTML){
getContent wordt aangeroepen en het komt aan, en dan wordt getContent() ook uitgevoerd.
Het gekke is: als ik in checkFab() of getContent() een alert plaats dan is alles koek en ei want als ik op OK klik van de alert verschijnt de content op het scherm. Maar als ik de alerts weg haal dan verschijnt het niet.... ook geen foutmelding in Web Developer toolbar van FireFox.... in de andere browsers gebeurt hetzelfde...
var fabselect;
var xmlHttpmerk;
var xmlHttpfab;
var evalFab;
var evalContent;
var myShop2;
var myShop;
function showDropdown(){
xmlHttpmerk=GetXmlHttpObject();
xmlHttpfab=GetXmlHttpObject();
if (xmlHttpmerk==null){
alert ("Browser does not support HTTP Request");
return;
}
var url="application/controller/switch.php";
url=url+"?request=shop&action=merken";
url=url+"&sid="+Math.random();
xmlHttpmerk.onreadystatechange=stateChangedmerk;
xmlHttpmerk.open("GET",url,true);
xmlHttpmerk.send(null);
var url="application/controller/switch.php";
url=url+"?request=shop&action=fabrikanten";
url=url+"&sid="+Math.random();
xmlHttpfab.onreadystatechange=stateChangedfab;
xmlHttpfab.open("GET",url,true);
xmlHttpfab.send(null);
evalFab=setInterval('checkFab();', 100);
} function stateChangedmerk()
{
if (xmlHttpmerk.readyState==4 || xmlHttpmerk.readyState=="complete")
{
myShop = xmlHttpmerk.responseText;
var browser=navigator.appName;
if (browser=="Microsoft Internet Explorer"){
select_innerHTML(document.getElementById("merk"),myShop);
}else{
document.getElementById("merk").innerHTML=myShop;
}
}
}function stateChangedfab()
{
if (xmlHttpfab.readyState==4 || xmlHttpfab.readyState=="complete")
{
myShop2 = xmlHttpfab.responseText;
var browser=navigator.appName;
if (browser=="Microsoft Internet Explorer"){
select_innerHTML(document.getElementById("fabrikant"),myShop2);
}else{
document.getElementById("fabrikant").innerHTML=myShop2;
}
}
}function checkFab(){
if(myShop2!=undefined && myShop!=undefined){
if(document.getElementById('fabrikant').innerHTML.toLowerCase()==myShop2.toLowerCase() && document.getElementById('merk').innerHTML.toLowerCase()==myShop.toLowerCase()){
clearInterval(evalFab);
getcontent();
}else{
return false;
}
}else{
return false;
}
}function getcontent(){
var combo1 = document.getElementById("merk");
var merkValue = combo1.options[combo1.selectedIndex].value;
var combo2 = document.getElementById("fabrikant");
var fabrikantValue = combo2.options[combo2.selectedIndex].value;
sendkeywords(document.getElementById("searchtxt").value, merkValue, fabrikantValue);
}//de value is altijd zonder quotes als er geen spatie in de waarde voorkomt, er zijn wel quotes als de fabrikant uit 2 woorden bestaat
function select_innerHTML(objeto,innerHTML){
objeto.innerHTML = ""
var selTemp = document.createElement("micoxselect")
var opt;
selTemp.id="micoxselect1"
document.body.appendChild(selTemp)
selTemp = document.getElementById("micoxselect1")
selTemp.style.display="none"
if(innerHTML.toLowerCase().indexOf("<option")<0){
innerHTML = "<option>" + innerHTML + "</option>"
}
innerHTML = innerHTML.toLowerCase().replace(/<option/g,"<span").replace(/<\/option/g,"</span")
selTemp.innerHTML = innerHTML
for(var i=0;i<selTemp.childNodes.length;i++){
var spantemp = selTemp.childNodes;
if(spantemp.tagName){
if(document.all){ //IE
objeto.add(opt)
}else{
objeto.appendChild(opt)
}
//getting attributes
for(var j=0; j<spantemp.attributes.length; j++){
var attrName = spantemp.attributes[j].nodeName;
var attrVal = spantemp.attributes[j].nodeValue;
if(attrVal){ //áls er een waarde is voor Value?
try{
opt.setAttribute(attrName,attrVal);
opt.setAttributeNode(spantemp.attributes[j].cloneNode(true));
}catch(e){}
}
}
opt.value = spantemp.getAttribute("value")
opt.text = spantemp.innerHTML
}
}
document.body.removeChild(selTemp)
selTemp = null
}