Marcel Georgii: Variablen mit Link übergeben und Auswerten

Hi all

Also ich kann leider niergens was dazu finden...ich weis auch ned genau nach was ich suchen muss, und darum schreibe ichs mal hier rein.

Also ich möchte von einm Dokument mit versch. Links zu einem  2. Dokument linken. Der Inhalt des 2. Dokumentes sollte aber je nachdem welchen Link ich gewählt habe ändern. Viele meinen wohl dass ich einfach versch. HTML Files machen soll, aber ich möchte als 2. Dokument ein HTML File mit der Tabelle und jenach dem auf welchen Link man klickt ändert der Inhalt dieser Tabelle (wird mit classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83" realisiert).

Ich habe schon oft gesehen dass ich solche Links in der Adressbar habe: http://www...../review.htm?id=1

Also wie kann ich nun im 2. Dokument auswerten ob ich Type 1, 2 oder 3 habe? Es werdenn dann die Daten aus *.txt Files rasugelesen die den gleichen Namen wie die ID haben. Kann ich dann schreiben:

<object id="Review" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
   <param name="DataURL" value=id> <------------------
  </object>

  1. hi

    Die übergebenen variablen kannst Du nur mit JavaScript auslesen und dann damit machen was du willst.

    Gruss Christoph

    tip schau dir die funktion: "window.location.search" an

    1. hi,

      die variablen kannst du mit jeder "sprache" (javascript, java, php,
      perl... ) auslesen. da musst du schon konkreter werden

      gruss michael

      hi

      Die übergebenen variablen kannst Du nur mit JavaScript auslesen und dann damit machen was du willst.

      Gruss Christoph

      tip schau dir die funktion: "window.location.search" an

      1. Ok sovuiel hab ich begriffen. Wenn ich jetzzt die Variable auslesen kann... wie kann ich aber dann im HTML sagen das diese Zahl (in Form der Variable) den Dateiname (plus Endung.txt) ist?

        --------------------------------------------------------

        So bekomme ich einfach den Wert der Variable zurückgegeben

        <script type="text/javascript">
         <!--
         if(window.location.search != "")
         alert(window.location.search);
         //-->
         </script>

        Beispiel: der Link ist "file:///D:/website/review.htm?id=2", dann kommt die Meldung "?id=2"

        --------------------------------------------------------

        Aber ich möchte nun diese Variable (eigentlich nur die Zahl) an follgendem Ort einsetzen (siehe Pfeil)

        <object id="Hardware" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
           <param name="DataURL" value="--->Variable<---.txt">
           <param name="UseHeader" value="true">
           <param name="FieldDelim" value="|">
          </object>

        --------------------------------------------------------

        Wie muss ich das machen?

        Merci für die Antwort

        1. Hallo.

          Aber ich möchte nun diese Variable (eigentlich nur die Zahl) an follgendem Ort einsetzen (siehe Pfeil)

          <object id="Hardware" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">

          <script type="text/javascript">
          <!--
           document.open("text/html");
           document.write("<param name="DataURL" value="" + window.location.search.substring(window.location.search.indexOf("id=")+3,window.location.search.length) + ".txt">");
           document.close();
          //-->
          </script>

          <param name="UseHeader" value="true">
             <param name="FieldDelim" value="|">
            </object>

          Gruß
          Norbert

          1. Merci. Ich habs mal eingesetzt aber etwas schein ich noch vergessen zu haben.

            ---------------------------------------------------------------------

            <object id="Review" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">

            <script type="text/javascript">
               <!--
                document.open("text/html");
                document.write("<param name="DataURL" value="" + window.location.search.substring(window.location.search.indexOf("id=")+3,window.location.search.length) + ".txt">");
                document.close();
                //-->
               </script>

            <param name="UseHeader" value="false">
               <param name="FieldDelim" value="|">
              </object>

            <table id="Tabelle" datasrc="#Review" datapagesize="1" border="0" width="460" cellspacing="0" cellpadding="0">
                   <tr>
                    <td width="80" valign="top" align="right"><font size="2" face="Arial" color="#555555"><span datafld="Datum"></span></font></td>
                   </tr>
                  </table>

            ---------------------------------------------------------------------

            Also dort im Javascript

            window.location.search.substring(window.location.search.indexOf("id=")+3,window.location.search.length)

            Könnte was falsch sein. Zurück beckome ich ja den Wert "id=1" (oder eine andere beliebige Zahl zwischen 1 und unendlich also auch mehr Stellen!) also muss "?id=" abgeschnitten werden. Oder ist der Fehler woanders?

            1. Hallo.

              Könnte was falsch sein. Zurück beckome ich ja den Wert "id=1" (oder eine andere beliebige Zahl zwischen 1 und unendlich also auch mehr Stellen!) also muss "?id=" abgeschnitten werden. Oder ist der Fehler woanders?

              Hmm, window.location.search.substring(window.location.search.indexOf("id=")+3,window.location.search.length) liefert das, was zwischen "id=" und dem Ende des Parameters steht, falls du noch weitere Parameter übergibst, muss window.location.search.length durch window.location.search.indexOf("&") ersetzt werden.

              Gruß
              Norbert

              1. Nein tu ich ned. Ich gebe nur diese Variable über. Aber eben die Variable eisst eben nicht "id=1" sondern "?id=1". Aber es geht einfach noch ned. Kann ich ned wie follgt lösen? Das ganze befidned sich im Body-Tag aber das sollte ja keine Rolle spielen! Oder geht das nur wenn die Seite auf dem Webserver ist? Ich arbeite z.Z natürlich nur lokal!

                Die Zieldatei befinded sich im Unterordner reviews/hardware_text/
                ---------------------------------------------------------------------------------
                  <script type="text/javascript">
                   <!--
                    document.open();
                    document.write(<param name="DataURL" value="reviews/hardware_text/ + window.location.search.slice(4) + .txt">);
                    document.close();
                    //-->
                   </script>
                ---------------------------------------------------------------------------------

                Und es geht wenn ich anstelle des Javascripts einfach einen festen Code reintippe! vvvv

                --------------------------------------------------------------
                <param name="DataURL" value="reviews/hardware_text/1.txt">
                --------------------------------------------------------------

                1. Hallo.

                  Hoppla, das mit dem Copy&Paste müssen wir aber noch üben. ;-)

                  document.write(<param name="DataURL" value="reviews/hardware_text/ + window.location.search.slice(4) + .txt">);

                  Das Ganze kann so nicht funktionieren, Zeichenketten werden in Anführungszeichen eingeschlossen und Anführungszeichen im Text werden mit einem Backslash maskiert, das sollte dann so aussehn:
                   document.write("<param name="DataURL" value="reviews/hardware_text/" + window.location.search.slice(4) + ".txt">");

                  Gruß
                  Norbert

                  1. Ok hab ich gemacht aber es geht oimmer noch ned! Bin ich so blöd? Hier mal der kompletter Quelltext. Aber wenn ich anstelles des JavaSripts einen festen Wert reinschreibe geht es!

                    --------------------------------------------------------------------------------------------------------------

                    <html>
                     <head>

                    <style type="text/css">

                    body { scrollbar-base-color:#F5F5F5;
                            scrollbar-3dlight-color:#F5F5F5;
                            scrollbar-arrow-color:#000000;
                            scrollbar-darkshadow-color:#000000;
                            scrollbar-face-color:#F5F5F5;
                            scrollbar-highlight-color:#FFFFFF;
                            scrollbar-shadow-color:#000000;
                            scrollbar-track-color:#E0E0E0; }

                    a:link { text-decoration:none; color:#0000FF}
                     a:visited { text-decoration:none; color:#0000FF}
                     a:hover { text-decoration:none; color:#0000FF}
                     a:active { text-decoration:none; color:#0000FF}

                    </style>

                    </head>

                    <body leftmargin="0"
                           marginwidth="0"
                           topmargin="0"
                           marginheight="0"
                           bgcolor="#BBCAD1">

                    <object id="Review" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">

                    <script type="text/javascript">
                       <!--
                        document.open();
                        document.write("<param name="DataURL" value="reviews/hardware_text/" + window.location.search.slice(4) + ".txt">");
                        document.close();
                        //-->
                       </script>

                    <param name="UseHeader" value="true">
                       <param name="FieldDelim" value="|">
                      </object>

                    <table id="Tabelle" datasrc="#Review" datapagesize="1" border="0" width="460" cellspacing="0" cellpadding="0">
                           <tr>
                            <td width="80" valign="top" align="right"><font size="2" face="Arial" color="#555555"><span datafld="Text"></span></font></td>
                           </tr>
                          </table>

                    </body>

                    </html>

                    --------------------------------------------------------------------------------------------------------------

                    1. Hab ich vorhin von Copy&Paste erzählt? Naja, man sollte doch aufpassen, was man so alles kopiert.

                      [...]
                      window.location.search.slice(4)

                      => window.location.search.substring(window.location.search.indexOf("id=")+3,window.location.search.length)

                      [...]

                      Ich hoffe das stimmt jetzt.

                      Gruß
                      Norbert

                      1. Ja das hatte ich auch! Aber es geht ja imme rnoch ned. Darum dachte ich das das falsch ist!

                        Also ich versteh die Welt nicht mehr. Ist es möglich das in einem Object Tag gar kein JS erlaubt ist?

                        1. Also ich versteh die Welt nicht mehr. Ist es möglich das in einem Object Tag gar kein JS erlaubt ist?

                          Ja, sieht so aus, ich hab zwar vorhin nachgeguckt und Inline-Elemente sind auch erlaubt, aber <script> anscheinend nicht, also anders:

                          <html>
                           <head>

                          <style type="text/css">

                          body { scrollbar-base-color:#F5F5F5;
                                  scrollbar-3dlight-color:#F5F5F5;
                                  scrollbar-arrow-color:#000000;
                                  scrollbar-darkshadow-color:#000000;
                                  scrollbar-face-color:#F5F5F5;
                                  scrollbar-highlight-color:#FFFFFF;
                                  scrollbar-shadow-color:#000000;
                                  scrollbar-track-color:#E0E0E0; }

                          a:link { text-decoration:none; color:#0000FF}
                           a:visited { text-decoration:none; color:#0000FF}
                           a:hover { text-decoration:none; color:#0000FF}
                           a:active { text-decoration:none; color:#0000FF}

                          </style>

                          </head>

                          <body leftmargin="0"
                                 marginwidth="0"
                                 topmargin="0"
                                 marginheight="0"
                                 bgcolor="#BBCAD1">

                          <script type="text/javascript">
                             <!--
                              document.open("text/html");
                              document.writeln("<object id="Review" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">");
                              document.writeln("<param name="DataURL" value="reviews/hardware_text/" + window.location.search.substring(window.location.search.indexOf("id=")+3,window.location.search.length) + ".txt">");
                              document.writeln("<param name="UseHeader" value="true">");
                              document.writeln("<param name="FieldDelim" value="|">");
                              document.writeln("</object>");
                              document.close();
                              //-->
                             </script>

                          <table id="Tabelle" datasrc="#Review" datapagesize="1" border="0" width="460" cellspacing="0" cellpadding="0">
                                 <tr>
                                  <td width="80" valign="top" align="right"><font size="2" face="Arial" color="#555555"><span datafld="Text"></span></font></td>
                                 </tr>
                                </table>

                          </body>

                          </html>

                          Das sollte jetzt aber wirklich gehn.

                          Gruß
                          Norbert

                          1. Jep so hab ichs auch gemacht. Ausser das ich eben das slice benutzt habr, da ich so etwas wenige Code brauche.
                            Nochmals Danke vielmals!

                        2. Also die Lösung: Im Object dasf kein JS sein!

                          ----------------------------------------------------------------

                          <script type="text/javascript">
                             <!--
                              document.open();
                              document.write("<object id="Review" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">")
                              document.write("<param name="DataURL" value="reviews/hardware_text/" + window.location.search.slice(4) + ".txt">");
                              document.write("<param name="UseHeader" value="true">")
                              document.write("<param name="FieldDelim" value="|">")
                              document.write("</object>")
                              document.close();
                              //-->
                             </script>

                          ----------------------------------------------------------------

                          Ausserdem finde ich es mit dem slice (4) dem streiben der ersten 4 Stellen schöner!

                          Danke vielmals und noch einen schönen Tag!