Manuel Reinhard: Resultat am richtigen Platz

Hallo !

Ich habe folgendes Problem. Ich übe momentan etwas mit JavaScript herum und habe so etwas ähnliches gemacht wie auf http://www.teamone.de/selfhtml/tebba.htm http://www.teamone.de/selfhtml/tebba.htm zu finden ist.

Nun ist mein Problem, dass bei mir die Resultate nicht unterhalb des vorhandenen Textes erscheinen, sondern auf einer leeren Seite.

Kann mir jemand helfen ??

Übrigens, zu besichtigen ist das Problem unter http://www.datacomm.ch/reinhard/java.htm www.datacomm.ch/reinhard/java.htm

Danke

  1. Ich kenn mich nicht so genau mit JavaScript aus, aber das sieht schon ein bischen komisch aus:
    <input type=button value="Quadrat errechnen" onClick="Quadrat(document.form.feld.value)">
    und
    function Quadrat(u)

    Dumme Frage: Woher weiß der Browser, daß die Eingabe u ist?
    var text = ("<br>Das Quadrat von " + u + " ist " + u*u);
                                                       °°°°
                                                       Das muß dann doch e heißen, oder?

    window.document.write(text);  
    

    °°°°°°
            document.write müßte reichen, oder?
    Vielleicht hilft dir das weiter, vielleicht auch nicht.
    Wenn nicht, verzeih die Antwort eines Unwissenden!

    MfG Matti

    1. Ich denke, das sind zwar Schönheitsfehler, haben aber mit dem Problem selbst nicht viel zu tun. Aber ich werds versuchen.

      Danke, Manu

    2. Hallo Matti, hallo Manuel

      etwas Mathe- und Javascriptnachhilfe für euch

      erst einmal ist die Funktion von Manuel in Ordnung. Es spielt keine Rolle wie die Variable heißt. Die kann u, e, irgendwas, ... heißen. Eine Variable steht für eine Zahl deren Wert erst einmal unbekannt ist. Wie sie (erst einmal) heißt spielt dabei keine Rolle. Ist der Name erst einmal festgelegt, muß man ihn auch beibehalten, wenn man damit weiterarbeitet. Das zur Mathematik nun zu Javascript.

      Dumme Frage: Woher weiß der Browser, daß die Eingabe u ist?

      <input type=button value="Quadrat errechnen" onClick="Quadrat(document.form.feld.value)">

      document.form.feld.value übergibt an die Funktion Quadrat den Wert, der in der Funktion unter den Namen u verarbeitet wird. Daher weiß der Browser welchen Wert u hat.

      Das muß dann doch e heißen, oder?

      muß es nicht, siehe oben

      »»  window.document.write(text);

      Hier liegt tatsächlich das Problem, aber nicht im Syntax, sondern im Befehl selbst. Das Verhalten von document.write(). Es wird an dieser Stelle quasi eine neue Seite geschrieben. Schaut einmal in den Quelltext der Ergebnisseite, da werdet ihr es sehen.

      Dir Manuel gebe ich erst einmal folgenden Tip:

      Gebe das Ergnis einfach in einen Formularfeld aus. Damit umgehst du die document.write Probleme. Wie es geht verrate ich absichtlich nicht, denn ich denke du packst es auch allein.

      Viele Grüße

      Antje

      1. Dir Manuel gebe ich erst einmal folgenden Tip:

        Gebe das Ergnis einfach in einen Formularfeld aus. Damit umgehst du die document.write Probleme. Wie es geht verrate ich absichtlich nicht, denn ich denke du packst es auch allein.

        Tja, dann scheint es wirklich nicht zu klappen, schade. Das mit dem Formularfeld habe ich übrigens schon geschafft, ich wollte es jetzt aber noch anders machen ...

        danke trotzdem
        Manuel

        1. Hallo Manuel,

          Tja, dann scheint es wirklich nicht zu klappen, schade. Das mit dem Formularfeld habe ich übrigens schon geschafft, ich wollte es jetzt aber noch anders machen ...

          Wenn du schon soweit bist dann folgender Tip, definiere ein absolut positioniertes Div und verwende für den IE innerHTML und für den Navi document.write in Layerobjekten. Lies dazu vorher, für den IE
          <../../tecbba.htm#a10>
          und für den Navigator
          <../../tecbbf.htm#a7> und <../../tfbe.htm#a7>

          Viele Grüße

          Antje

          1. Wenn du schon soweit bist dann folgender Tip, definiere ein absolut positioniertes Div und verwende für den IE innerHTML und für den Navi document.write in Layerobjekten.

            Habe ich gemacht, und es funktioniert ! Auch wenn es mirzuerst einige Kopfschmerzen machte, bis auch der Netscape mithalf. Allerdings zeigt mir der IE jetzt an, dass Fehler im Script seien, führt aber alles richtig aus, vielleicht findest du das auch noch raus ??!?

            http://www.datacomm.ch/reinhard/java.htm

            Danke und tschüss
            Manu

            1. Habe ich gemacht, und es funktioniert ! Auch wenn es mirzuerst einige Kopfschmerzen machte, bis auch der Netscape mithalf. Allerdings zeigt mir der IE jetzt an, dass Fehler im Script seien, führt aber alles richtig aus, vielleicht findest du das auch noch raus ??!?

              http://www.datacomm.ch/reinhard/java.htm

              Hallo Manuel,
              nur eine ganze Kleinigkeit

              if(navigator.appName=="Netscape")
              document.res.document.write(text);
              document.res.document.close();

              der if-Zweig zum Navi muß in Klammern
              also so:
              if(navigator.appName=="Netscape")
              {
                       document.res.document.write(text);
                document.res.document.close();
                      }

              folgt einer Abfrage mehr als eine Anweisung, die in Abhängigkeit von der Abfrage steht, muß sie eingeklammert werden.

              Alle Achtung, du hast es sehr schnell verstanden.

              Viele Grüße

              Antje

              1. Alle Achtung, du hast es sehr schnell verstanden.

                Danke
                Manuel