EKKi: onclick bezug auf funktion geht nicht

Beitrag lesen

Mahlzeit,

hier ist der code (l und k sind zähler von "richtig" und "falsch"):

Wow ... es geht doch nichts über sprechende Variablennamen. Wieso hast Du sie nicht "hokuspokus" und "schnarzpideltroet" genannt? Oder gar - Achtung, jetzt kommt eine vollkommen irre Idee! - einfach "richtige" und "falsche"?

function multiplikation() {
  var l = 0;
  var k = 0;

Das sind beides lokale Variablen - ich wüsste nicht, wie Du diese in der Funktion "check" hochzählen willst ...

var a = Math.round(Math.random()*100);

Da war doch irgendwas mit Math.round? (Nutze das Forumsarchiv!)

var c = multipl.Eingabe.value;

Was genau soll Deiner Meinung nach das Objekt "multipl" sein?

if(c=a*b) {

Hier weist Du der Variablen "c" den Wert der Multiplikation von a*b zu. Ich denke nicht, dass Du das willst.

var l = l+1;

Ich denke nicht, dass Du in dieser Funktion Zugriff auf die lokalen Variablen einer anderen Funktion hast (s.o.).

Überdenke Dein gesamtes Konzept!

<script type="text/javascript">  
[code lang=javascript]  
  
var aufgaben = 0;  
var richtige = 0;  
var falsche = 0;  
  
function multiplikation() {  
  var a = Math.floor(Math.random() * 100) + 1;  
  var b = Math.floor(Math.random() * 100) + 1;  
  document.write('<form name="multipl' + aufgaben + '">' + a + ' * ' + b + ' = ' + '<input type="text" name="Eingabe">' + '<input type="button" name="button" onclick="check(this);" value="Check!">' + '<\/form>');  
}  
  
function check(obj) {  
  var c = parseFloat(obj.parentNode.getElementsByName('Eingabe')[0].value);  
  
  if (c == a * b) {  
    richtige++;  
    document.write('Richtig!');  
  } else {  
    falsche++;  
    document.write('Falsch!');  
  }  
  
  aufgaben++;  
  document.write(' (' + richtige + ' Richtige \/ ' + falsche + ' Falsche)<br>');  
  
  multiplikation();  
  }  
  
}

</script>[/code]

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|