event not defined in IE

Status
Niet open voor verdere reacties.

sonorgeek

Gebruiker
Lid geworden
2 okt 2008
Berichten
30
Hallo, ik heb een programma gemaakt met javascript.
Nu doet er zich een probleem voor. Ik heb in Internet Explorer de foutmelding " bron not defined" terwijl het programma in FireFox gewoon werkt.

Hoe kan dit? Waar zou ik eventueel de fout kunnen vinden ??
 
Laatst bewerkt:
Kan je je code even posten (let op, tussen code tags), dan kunnen we die even nakijken.
 
Code:
function moveItem(bron, doel){
	
		var eid = bron.id.split("_");
		if (eid[0] == "clone" && eid[1] == "image"){
			var bron = $("image_" + eid[2]);
			//alert(doel.id);
			
			var bronID = eid[2]; 
			var doelID = doel.id.split("_"); 
			doelID = doelID[1]; 
			
			
			var dragimage = "<?php echo $_GET['path']; ?>" + sourceimages[bronID];
			var dragtarget = targetfolders[doelID] + "/" + sourceimages[bronID];
			
			new Ajax.Request('xf_move.php', { 
	            method: 'post',
	            parameters:{
	                actie: 'bestand_verplaatsen',
	                bron: dragimage,
	                doel: dragtarget,
	            }, 
	            onSuccess: moveItemResponse
		                     
	        });
		}
   }





         Droppables.add($("directory_<?php echo $dirteller; ?>"),{greedy: 'true', hoverclass: 'hover', onDrop: moveItem()});

         targetfolders[<?php echo $dirteller; ?>] = "<?php echo $true_dir[$key]; ?>";
 
Die code kan de fout niet in zitten aangezien er geen variable genaamd event in voor komt.

Maar ik kan je wel vertellen wat waarschijnlijk het probleem is. In firefox werkt dit gewoon:
Code:
function eventhandler(event)
{
  alert(event);
}

element.onclick = eventhandler;
In bovenstaand voorbeeld is event een object, in Firefox. Microsoft doet het compleet anders. Het event object wordt niet direct doorgegeven aan de functie, je zult het op moeten halen als volgt:


Code:
function eventhandler(event)
{
  if (!event)
    event = window.event;

  alert(event);
}

element.onclick = eventhandler;
Deze aanpak werkt in zowel IE als FF.
 
oh, heh, negeer vorige bericht dan maar :p

Staat er misschien ook op welke regel de fout ontstaat? Zo niet probeer dan eens dit ergens aan het begin te plakken:

Code:
function handleErr(msg,url,l)
{
  txt="There was an error on this page.\n\n";
  txt+="Error: " + msg + "\n";
  txt+="URL: " + url + "\n";
  txt+="Line: " + l + "\n\n";
  txt+="Click OK to continue.\n\n";
  alert(txt);
  return true;
}
onerror = handleErr();

Misschien dat het helpt de foutmelding te traceren
 
hij zegt dat de fout op regel 618 zit en er zijn maar 556 regels:confused:

@glest: thx voor de moeite. Ik krijg geen melding als ik hem er inzet.
 
Laatst bewerkt:
IE doe vaag als het gaat om regels. Het telt alle regels van het orginele HTML bestand mee. Alle regels voor de <script> tag in ieder geval. Misschien zelfs regels van andere included js bestanden, maar dat heb ik nooit getest.

Anders kun je op logische plaatsen in je code een alert() zetten en op die manier proberen te achterhalen waar het script vast loopt.
 
In de geparste code geeft ie op regel 606 dit weer:
Code:
<script type="text/javascript"> 
			
			Droppables.add($("directory_20"),{greedy: 'true', hoverclass: 'hover', onDrop: moveItem});
			targetfolders[20] = "/home/www/www.medusa.nl/data/intern/projecten/basis_businessclub_js/htmlpages/uploads/ukhuih/1/subsub";
			
		</script>

Als ik een alert boven in zet (net onder de openings tag van het script) doet hij het niet :S

De error komt al meteen wanneer ik de pagina aan roep .....
 
Laatst bewerkt:
Dat kan wel zijn, maar als er een alert staat voordat de error veroorzaakt wordt dan zul je die zien. Behalve als er een syntax fout in de code zit, maar "bron is not defined" is geen syntax fout.

Kun je een link naar je pagina geven? Dat helpt altijd.
 
Pagina staat niet online, maar het is wel opgelost.
Stond ergens een komma te veel...aaarrrghhhhh :shocked: :o:mad:

Iedereen bedankt voor de hulp!!!!![/SIZE]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan