Manuela: Idee gesucht

Hallo,
ich suche eine Idee wie ich folgendes Problem am besten lösen könnte.
Ich hab eine ganze Reihe an Seiten erstellt in denen der Benutzer mit ja oder nein auf Fragen antworten muß. Je nach dem was er anklickt geht eine neue Seite auf, so das es sich als Baum verzweigt.
Die Seite ist als Tabelle aufgebaut und auf der rechten  Seite wird immer mit angezeigt, was schon wie beantwortet wurde.

Jetzt zu dem Problem am Ende jeden Baumstranges wird ein Art Bestellformular aufgerufen wo auch die Selection rechts mit angezeigt werden soll. Nun will ich aber nicht für jedes Ende eine eigene Seite erstellen(das werden zu viele) sondern nur den Rechten Teil ändern in Abhängigkeit davon, von wo aus das Bestellformular aufgerufen wird.

Stimmt es das man beim Aufruf mit href an die Adresse mit Fragezeichen getrennt was anhängen kann und wie müßte das aussehen??

Bin für jede Idee dankbar und würde mir bei schwierigen Sachen eine genau Beschreibung wünschen.

Danke schon mal Manuela

  1. Hallo Manuela,

    Stimmt es das man beim Aufruf mit href an die Adresse mit Fragezeichen getrennt was anhängen kann und wie müßte das aussehen??

    Nun, einfach so:
    http://www.deineadresse.xy/irgendwas.htm?irgendwelches%20Zeug

    Es gibt jedoch noch eine elegantere Loesung, wie sich nacheinander aufgerufene Seiten gesammelte Daten weitergeben koennen: die JavaScript-Eigenschaft window.name - siehe dazu den Feature-Artikel http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/.
    Mit reinem HTML kommst du allerdings nicht weiter. JavaScript wirst du auf jeden Fall brauchen.

    viele Gruesse
      Stefan Muenz

    1. Hallo stefan,
      das Beispiel hab ich mir hergenommen und es ging. Aber ich will einen Text mitschleppen über die Seiten und hab den Code veränert:

      Aufrufendes Document:

      <html>
      <head>
      <title></title>
      <meta name="author" content="mei">
      <meta name="generator" content="Ulli Meybohms HTML EDITOR">
      </head>
      <script language="JavaScript">
      <!--
      function aufruf (selObj) {
       self.name = selectWert(selObj);
       self.location.href="werte.html"
      }
      function selectWert (sObj) {
      return sObj;
      }
      //-->
      </script>

      <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" alink="#FF0000" vlink="#FF0000">

      <form name="eform" onSubmit="aufruf(document.eform.hallo);return false">
      <p id="hallo">Das ist ein Test</p>

      <input type=submit value="Weiter">

      </body>
      </html>

      Auswertendes Document:

      <html>
      <head>
      <title></title>
      <meta name="author" content="mei">
      <meta name="generator" content="Ulli Meybohms HTML EDITOR">
      </head>

      <script language="JavaScript">
      <!--
          var zahl=window.name ;
      document.write(zahl);
      //-->
      </script>

      <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" alink="#FF0000" vlink="#FF0000">

      </body>
      </html>

      Leider kommt auf dieser Seite immer undefined und ich weiß nicht warum. Kannst Du mir helfen ?? Bitte.
      Gruß Manuela

      1. Hallo Manuela,

        Leider kommt auf dieser Seite immer undefined und ich weiß nicht warum.

        Wahrscheinlich deswegen:

        <form name="eform" onSubmit="aufruf(document.eform.hallo);return false">
        <p id="hallo">Das ist ein Test</p>

        Du kannst nicht mit document.Formularname.Idname irgendein p-Element innerhalb eines Formulars ansprechen. Du kannst mit dieser Adressierungssyntax nur Formularelemente ansprechen, die ein Name-Attribut haben. Gehen würde also z.B.:

        <form name="eform" onSubmit="aufruf(document.eform.hallo.value);return false"><input type="text" name="hallo">

        Wenn du wirklich den Inhalt des p-Elements willst, musst du DOM-Syntax verwenden:

        <form name="eform" onSubmit="aufruf(document.getElementsById('hallo').firstChild.data);return false"><p id="hallo">Das ist ein Test</p>

        viele Gruesse
          Stefan Muenz

        1. Hallo Manuela,

          Leider kommt auf dieser Seite immer undefined und ich weiß nicht warum.

          Wahrscheinlich deswegen:

          <form name="eform" onSubmit="aufruf(document.eform.hallo);return false">
          <p id="hallo">Das ist ein Test</p>

          Du kannst nicht mit document.Formularname.Idname irgendein p-Element innerhalb eines Formulars ansprechen. Du kannst mit dieser Adressierungssyntax nur Formularelemente ansprechen, die ein Name-Attribut haben. Gehen würde also z.B.:

          <form name="eform" onSubmit="aufruf(document.eform.hallo.value);return false"><input type="text" name="hallo">

          Wenn du wirklich den Inhalt des p-Elements willst, musst du DOM-Syntax verwenden:

          <form name="eform" onSubmit="aufruf(document.getElementsById('hallo').firstChild.data);return false"><p id="hallo">Das ist ein Test</p>

          Ich hab es genauso gemacht wie es hier steht, wenn ich es aber ausführe, bekomme ich die Meldung das das Objekt die Eigenschaft,Methode nicht unterstützt.Warum???

          viele Gruesse
            Stefan Muenz

          1. Hallo Manuela,

            Ich hab es genauso gemacht wie es hier steht, wenn ich es aber ausführe, bekomme ich die Meldung das das Objekt die Eigenschaft,Methode nicht unterstützt.Warum???

            Weil ich document.getElementsById geschrieben habe und nicht document.getElementById ... ;-)

            viele Gruesse
              Stefan Muenz

            1. Hallo Stefan

              Hallo Manuela,

              Ich hab es genauso gemacht wie es hier steht, wenn ich es aber ausführe, bekomme ich die Meldung das das Objekt die Eigenschaft,Methode nicht unterstützt.Warum???

              Weil ich document.getElementsById geschrieben habe und nicht document.getElementById ... ;-)

              viele Gruesse
                Stefan Muenz

              vielen vielen Dank für deine Mühe es funzt !!!
              Bis bald Manuela

  2. Hallo Stefan,
    es funktioniert ja wie gesagt schon.
    Aber ich habe da noch eine Frage.
    Und zwar soll es ja so sein,das am Start rechts noch nichts steht.1.Frage beantwortet vom Benutzer mit ja dann soll in der Mitte
    die 2.Frage stehen und rechts z.B."Sie haben Frage 1 mit ja beantwortet" und dann so weiter. So das der Benutzer immer sehen kann, mit was er welche Frage schon beantwortet hat.

    Für die erste Frage geht es ja. Wie hänge ich jetzt aber an den schon vorhanden Text den nächsten an.

    Irgendwie hab ich ein Blackout und mir fällt die Lösung nicht ein und mit probieren komm ich auch nicht weiter.

    Danke schon mal für deine Hilfe
    Manuela

    1. Hallo Stefan,
      es funktioniert ja wie gesagt schon.
      Aber ich habe da noch eine Frage.
      Und zwar soll es ja so sein,das am Start rechts noch nichts steht.1.Frage beantwortet vom Benutzer mit ja dann soll in der Mitte
      die 2.Frage stehen und rechts z.B."Sie haben Frage 1 mit ja beantwortet" und dann so weiter. So das der Benutzer immer sehen kann, mit was er welche Frage schon beantwortet hat.

      Für die erste Frage geht es ja. Wie hänge ich jetzt aber an den schon vorhanden Text den nächsten an.

      Irgendwie hab ich ein Blackout und mir fällt die Lösung nicht ein und mit probieren komm ich auch nicht weiter.

      Danke schon mal für deine Hilfe
      Manuela

      Mir ist es wieder eingefallen und es geht.Trotzdem Danke.