alexander richter: variable an window.setInterval übergeben

hallo zusammen!

ich würde gern an eine funktion, die ich aus einer anderen funktion per window.setInterval aufrufen möchte, eine variable übergeben.
dazu habe ich ein kleines test-script geschrieben:
<html><head><title>noName</title>
<script language="JavaScript">
var i=0; var zahl; var zahl1; var ergebnis;
function test(zahl)
 {
  alert(zahl);
  aktiv=window.setInterval("multiplizieren(zahl)",1);
 }
function multiplizieren(zahl2)
 {
  ergebnis=i*zahl2;
  alert(i + " * " + zahl + " = " + ergebnis);
  if(i>=3) window.clearInterval(aktiv);
  i++;
 }
</script>
</head>
<body>
<form name="eingabe">
<input type=text name=wert>
<input type=button value="OK" onClick="javascript:test(this.form.wert.value);">
</form>
</body></html>
bei dieser version des funktionsaufrufes per setInterval spuckt der alert in der muliplikationsfunktion folgendes aus: "1 * undefinded = NaN" und zwar (richtigerweise) so lange bis per clearInterval bei i=3 beendet wird.
wenn ich den setInterval-Aufruf ohne anf-zeichen (also so: aktiv=window.setInterval(multiplizieren(zahl),1);) schreibe, kommt beim alert folgendes: "1 * undefined = 0" und dann bricht die funktion ab und ich habe einen "Fehler auf der Seite"...
tja, und nun?
hat jemand eine idee, wie ich dieses problem lösen kann?
vielen dank im voraus sagt schon 'mal:
alexander

  1. Hi,

    aktiv=window.setInterval("multiplizieren(zahl)",1);

    was in Anführungszeichen steht, ist ein(!) String. Es wird also die Buchstaben-Aneinanderreihung "zahl" an die Funktion übergeben.

    Wenn Du Strings aus mehreren Teilen, z.B. einer Variable, zusammensetzen willst, mußt Du den Stringverknüpfungs-Operator "+" benutzen.

    Beispiel:

    var furz = "*pfeif*";
    alert("Ein "+furz+" geht um die Welt");

    Cheatah

    1. so einfach ist das..!
      ich danke dir auf knien!
      alexander

      Hi,

      aktiv=window.setInterval("multiplizieren(zahl)",1);

      was in Anführungszeichen steht, ist ein(!) String. Es wird also die Buchstaben-Aneinanderreihung "zahl" an die Funktion übergeben.

      Wenn Du Strings aus mehreren Teilen, z.B. einer Variable, zusammensetzen willst, mußt Du den Stringverknüpfungs-Operator "+" benutzen.

      Beispiel:

      var furz = "*pfeif*";
      alert("Ein "+furz+" geht um die Welt");

      Cheatah