ChrisB: eval() nicht aus if-body aufrufbar?

Beitrag lesen

Hi,

	if (letzte_eingabe == '+' || letzte_eingabe == '-' || letzte_eingabe == '*' || letzte_eingabe == '/')	  
  {  
  	inhalt = inhalt.substring(0,(laenge - 1)) + '\n' + letzte_eingabe + '\n';  
  	document.eingabe.feld.value = inhalt;  
  	document.eingabe.ergebnis.value = eval(inhalt);		// an dieser Stelle wird die zeile einfach ignoriert.  
  }  

// document.eingabe.ergebnis.value = eval(inhalt); // hier dagegen funktioniert's!
}

  
JavaScript tendiert seltenst dazu, irgendetwas einfach zu „ignorieren”.  
Wenn du etwas falsch machst, dann bekommst du iaR. eine Fehlermeldung.  
  
Allerdings kann es sein, dass dir diese unterschlagen wird, wenn du eval verwendest - was mit einer der Hauptgründe ist, es möglichst gar nicht erst zu benutzen, denn es erschwert oftmals die Fehlersuche doch erheblich.  
  

> 			inhalt = inhalt.substring(0,(laenge - 1)) + '\n' + letzte\_eingabe + '\n';  
  
Du hast uns leider keine Information darüber gegeben, was bei dem, was du hier zusammenbaust, letztendlich herauskommt.  
  
Die Zeilenumbrüche, die du da einbaust, legen zumindest den Verdacht nahe, dass du damit vielleicht einen ungültigen JavaScript-Ausdruck zusammenbastelst - etwas, das nach JS-Syntax \*so\* nicht über mehrere Zeilen gehen dürfte, es bei dir aber doch tut. Und das normalerweise eine entsprechende Fehlermeldung in der Konsole werfen müsste, es hier aber u.U. eben wegen des Einsatzes von eval nicht tut.  
  
Aber um das genauer beurteilen zu können, müsstest du uns erst mal brauchbarere Informationen liefern.  
  
MfG ChrisB  
  

-- 
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]