Button als Link benutzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Button als Link benutzen

    Hallo,
    ich möchte gerne einen Button programmieren der wenn man darauf klickt auf eine Seite weiterleiten soll. Soweit war ich schon, hier mal mein Code:
    PHP-Code:
    <input type="button" value="Text" onClick="window.location.href='http://www.google.de'"
    Mein Problem ist nur ich möchte diese Funktion nutzen damit meine User auf eine gewisse Seitenzahl kommen die sie vorher in einer Textbox eingeben. Kann mir jemand helfen?

  • #2
    Re: Button als Link benutzen

    http://de.selfhtml.org/javascript/objekte/elements.htm
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Den Link den du mir gegeben hast hab ich schon gesehen, mein Problem wird dort aber nicht behandelt da ich mit PHP-Variable arbeiten muss (deswegen wars auch in diesem Unterforum)

      PHP-Code:
      ?>
      <form name="Testform" action="">
      Bildnummer <input type="text" size="5" name="uri" value="">
      <input type="button" value="Gehe zu"
      onclick="window.location.href = document.Testform.uri.value">
      </form>
      <script type="text/javascript">
      if (navigator.language.indexOf("de") > -1) {
        document.Testform.url.defaultValue = 
      "http://www.xxxx.com/galerie/galerie.php?album=<?php echo \"$album\\"?>"; # Hier funktioniert der Code nicht
        document.Testform.url.value = document.Testform.url.defaultValue;
      }
      </script>
      <?php
      Ich habe die Codestelle makiert die nicht funktioniert, wie schaff ich es das dort eine Variable eingefügt werden kann?

      Kommentar


      • #4
        naja, vermutlich musst du das nur sauberer coden:

        PHP-Code:
        $ausgabe="<script type=\"text/javascript\">\n
        if (navigator.language.indexOf("
        de") > -1) {\n
          document.Testform.url.defaultValue = 
        \"http://www.xxxx.com/galerie/galerie.php?album="
        .$album."\";\n
          document.Testform.url.value = document.Testform.url.defaultValue;\n
        }\n
        </script>"
        ;
        print(
        $ausgabe); 
        probiers mal, vielleicht hilfts ja.

        Kommentar


        • #5
          Ich hab das jetzt mal versucht, doch ihc muss feststellen der nimmt nicht die URL aus dem JAVA teil sondern den hier:
          PHP-Code:
          onclick="window.location.href = document.Testform.uri.value"
          Das Problem ist nur mit meiner Methode komm ich da nicht weit, sie hier:
          PHP-Code:
          <form name="Testform" action="">
          Bildnummer <input type="text" size="50" name="uri" value="">
          <?php

          $album
          ="test12345";
          $url3="http://www.xxx.com/galerie/galerie.php?album=".$album."&show=".$uri."";

          $ausgabe2="<input type=\"button\" value=\"Gehe zu\"
          onclick=\"window.location.href = document.Testform.url3.value\">"
          ;
          print(
          $ausgabe2);
          ?>
          </form>

          <?php

          $ausgabe
          ="<script type=\"text/javascript\">\n
          if (navigator.language.indexOf('de') > -1) {\n
            document.Testform.url.defaultValue = 
          \"http://www.xxx.com/galerie/galerie.php?album="
          .$album."&show=\";\n
            document.Testform.url.value = document.Testform.url.defaultValue;\n
          }\n
          </script>"
          ;
          print(
          $ausgabe);

          ?>
          Ich weiß nicht wie ich das schaffen soll, oder hat jemand einen besseren Code?

          Kommentar


          • #6
            Original geschrieben von SilverVegeto
            PHP-Code:
            "http://www.xxxx.com/galerie/galerie.php?album=<?php echo \"$album\\"?>"; # Hier funktioniert der Code nicht
              document.Testform.url.value = document.Testform.url.defaultValue;
            Was mir hier mal spontan auffällt, da fehlt ein Anführungszeichen, btw. ist es escaped:
            PHP-Code:
            "http://www.xxxx.com/galerie/galerie.php?album=<?php echo \"$album"?>"; # Hier funktioniert der Code nicht
              document.Testform.url.value = document.Testform.url.defaultValue;
            Daher ist das Echo nicht abgeschlossen.

            EDIT:
            Typo

            Kommentar


            • #7
              Original geschrieben von SilverVegeto
              PHP-Code:
              $ausgabe2="<input type=\"button\" value=\"Gehe zu\" onclick=\"window.location.href = document.Testform.[B]url3[/B].value\">"
              ...
              Original geschrieben von SilverVegeto
              PHP-Code:
              $ausgabe="<script type=\"text/javascript\">\n
              if (navigator.language.indexOf('de') > -1) {\n
                document.Testform.[B]url[/B].defaultValue = 
              \"http://www.xxx.com/galerie/galerie.php?album="
              .$album."&show=\";\n
                document.Testform.[B]url[/B].value = document.Testform.[B]url[/B].defaultValue;\n
              }\n
              </script>"
              ;
              ?> 
              Ach ja und im Javascript gibts oft Probleme, wenn ein String gebrochen wird.
              Code:
              var Text="blablabla
              Blablabla";
              [i]^^geht nicht[/i]
              var Text="blablabla"+
              "blablabla";
              [i]^^wäre sicherer[/i]
              Hoffe das hilft
              Zuletzt geändert von helmuth; 07.01.2007, 20:41.

              Kommentar


              • #8
                Also ich hab jetzt eine neue Möglichkeit, die mir persönlich auch besser gefällt. Hab nur das Problem das ich es nicht schaff die Zahl der Textbox einer Variable zu übergeben bzw. diese mit dem Rest der URL zu verknüpfen.
                PHP-Code:
                <form action="galerie.php">
                <input name="seite" type="Text" size="30">
                <?php

                $album 
                "Samstag%2006.01.07";
                $url $album $seite;  # Hier ist die Stelle,
                # wie schaff ich das die beiden Variablen zusammengefügt werden bzw. das die Variable $seite gefüllt wird?

                $ausgabe "<input type=\"button\" value=\"Gehe zu\"
                onClick=\"self.location.href='http://www.xxxx.com/galerie/galerie.php?album="
                .$url."'\">";

                print(
                $ausgabe);
                ?>
                </form>

                Kommentar


                • #9
                  Ach jetzt versteh ich erst Dein Problem richtig...

                  Du hast eine Form mit einem Eingabefeld und einen Button. Du willst den Wert des Eingabefeldes an den Link anhängen. Nur geht das so nicht wie Du es machen willst. Zu der Zeit, wo im Formular der Button geklickt wird arbeitet kein php mehr. php erzeugt nur eine Seite. Man kann wohl wieder mittels eines Formulars an einen php-Datei weitergeben, aber eben nicht so wie Du das vorhast.

                  Dein Problem ist, dass Du zur Zeit des Erstellens der HTML-Seite noch keine Daten für den Link hast.

                  Dein Vorhaben kannst so nur mit Javascript lösen. Wobei ich jetzt aber nicht weiss wie man den Value des Textfeldes sozusagen an einen anderen Wert anhängen kann. Möglich dass das mit AJAX zu lösen ist. Hab zwar schon ein wenig mit Javascript gearbeitet aber da kenn ich mich leider doch zu wenig aus. Im Allgemeinen müsstest Du beim ursprünglichen Code nur statt dem php-Code irgendwas mit Javascript oder so einbauen.

                  Was mir grad noch so als Idee dazu einfällt...

                  Statt mittels des Button direkt den Link aufzurufen müsste es möglich sein ein Javscript aufzurufen, dem alle Werte mitgeben, den Link zusammenbauen und dann erst abschicken.
                  Zuletzt geändert von Godfrey; 07.01.2007, 21:15.

                  Kommentar


                  • #10
                    Du hast richtig erkannt was ich machen möchte, nur der Script funktioniert eigentlich auch solange ich nicht versuche die beiden Variablen $album und $seite zusammen zufassen.
                    Diese ganze Funktion brauch ich deswegen weil ich eine Galerie code und ich gerne möchte das die User auch direkt ein Bild ansteuern können.

                    Kommentar


                    • #11
                      Dein Problem ist nur, das das Feld $album wohl schon befüllt ist wenn die Page aufgebaut wird, das Feld $seite aber erst im Formular gefüllt wird. Du füllst ja das Feld mit "Pseudowert" und daher ist es beim php-Parsen schon gefüllt. $seite ist aber zum Zeitpunkt des parsens noch nicht gefüllt. Daher kannst das nur über ein Javascript lösen. Statt dem direkten Link eine Funktion aufrufen und dort erst den endgültigen Link zusammenstellen und dann absetzen.
                      Zuletzt geändert von Godfrey; 07.01.2007, 21:27.

                      Kommentar


                      • #12
                        Also ich habe mein Problem jetzt schon weitgehend gelöst, ich schaffe es nur nicht das der Inhalt der Textbox an die Variable übergeben wird.
                        PHP-Code:
                        <form action="galerie.php">
                        <input name="seite" type="Text" size="30">
                        <?php

                        $album 
                        "Samstag%2006.01.07";
                        $seitennr $seite;

                        $ausgabe "<input type=\"button\" value=\"Gehe zu\"
                        onClick=\"
                        self.location.href='http://www.xxx.com/galerie/galerie.php?album="
                        .$album."&show=".$seitennr."'\">";

                        print(
                        $ausgabe);
                        ?>
                        </form>

                        Kommentar


                        • #13
                          Original geschrieben von SilverVegeto
                          Also ich habe mein Problem jetzt schon weitgehend gelöst, ich schaffe es nur nicht das der Inhalt der Textbox an die Variable übergeben wird.
                          Siehe mein Posting oben...

                          php ist ein Parser zum Seitenaufbau, das ist kein Programm wie Word wo man eine Taste drückt und es tut sich was (mhh, vielleicht schlechter Vergleich, ein tut sich nichts kann da auch vorkommen).

                          Kommentar


                          • #14
                            Ja aber es muss doch irgendwie mit POST oder GET funktionieren oder nicht?

                            Kommentar


                            • #15
                              Sicher, aber nur wenn Du auf eine eigene Seite linkst und dort auswertest. Das Feld $seite wird ja erst gesendet wenn der Button betätigt wird. Und zu dem Zeitpunkt ist die php-Variable $seite nicht gefüllt.

                              Und nochmal zur Erinnerung --> php ist ein Parser zum Erzeugen von html-pages, kein Programm, man kann nur beim Aufruf einer php-Datei Parameter auswetten, verarbeiten und wieder anzeigen/ausgeben.

                              Kommentar

                              Lädt...
                              X