Ergebnis 1 bis 14 von 14
  1. #1
    samuel ist offline Grünschnabel
    registriert
    30-06-2011
    Beiträge
    4

    OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Hallo,

    das ist mein erster Beitrag hier im Forum. Leider habe ich bisher noch so gut wie keine Ahnung von Javascript.

    Zu meiner Website (die aktuell noch nicht funktionierende Version könnt ihr Euch auf www.samuelzimmermann.de anschauen):
    Die Website hat einen deutschen und einen englischen Verzeichnisbaum, der unter anderem die Seiten "Galerien" bzw. "Galleries" enthält. Diese beiden Seite verlinken auf die eigentlichen Galerie-Html-Dateien. Diese sind jeweils nur einmal vorhanden und im Prinzip Unterseiten von gleichzeitig "Galerien" und "Galleries" - letztere verlinken beide auf die gleichen Galerie-Html-Dateien.

    Auf den Seiten "Galerien" und "Galleries" habe ich im Header folgenden Skript eingefügt:
    var sSprache = Eng;
    der soll "Eng" als globale Variable der Seite festlegen.
    Unten auf der Seite befindet sich ein Icon zum Wechseln der Sprache, wobei dieser Link einfach auf die anderssprachige Seite gleichen Inhalts verlinkt. Wird dieser Button auf der englischen Seite angeklickt, soll die globale Variable in "De" geändert werden, das habe ich durch folgenden Skript im Link versucht zu realisieren:
    OnClick="sSprache=De"
    Macht das Sinn bzw. ist das korrekt?

    Mein eigentliches Problem ist aber folgendens:
    In den Galerie-Html-Dateien habe ich einen Zurück-Link installiert, der auf die vorherige Seite verlinken soll, also entweder auf "Galerien" oder auf "Galleries", allerdings soll er auf die sprachlich richtige Seite verlinken. Dafür soll die vorher gesetzte globale Variable benutzt werden.

    Dazu habe ich bei dem Zurück-Link folgenden Skript installiert, allerdings passiert dort nichts:
    <div id="parent"><a href="javascript:onclick="Language()"></a></div>

    und im Header die Funktion Language:
    <script type="text/javascript">
    function Language () {
    if (sSprache == De) {
    location.href = "<a href="www.samuelzimmermann.de/galerien">);
    } else {
    location.href = "<a href="www.samuelzimmermann.de/galleries">";
    }
    }
    </script>

    Wie lässt sich das ganze besser lösen bzw. wo ist mein Fehler? Ich bin für alle Hinweise dankbar!

    Liebe Grüße,
    Samuel

  2. #2
    Avatar von Arcsinh
    Arcsinh ist offline Kaiser
    registriert
    03-06-2010
    Beiträge
    1.392

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Zitat Zitat von samuel Beitrag anzeigen
    var sSprache = Eng;
    Es soll sicher ein String sein, also "Eng".

    Zitat Zitat von samuel Beitrag anzeigen
    OnClick="sSprache=De"
    Macht das Sinn bzw. ist das korrekt?
    Eher sSprache='De'
    Ist korrekt, aber kein guter Stil.

    Zitat Zitat von samuel Beitrag anzeigen
    <script type="text/javascript">
    function Language () {
    if (sSprache == De) {
    location.href = "<a href="www.samuelzimmermann.de/galerien">);
    } else {
    location.href = "<a href="www.samuelzimmermann.de/galleries">";
    }
    }
    </script>

    Wie lässt sich das ganze besser lösen bzw. wo ist mein Fehler? Ich bin für alle Hinweise dankbar!
    Du sollst dem location.href ein Link zuweisen, kein HTML-Tag. Abgesehen davon ist da eine sinnlose schließende Klammer im if-Rumpf.

    In Zukunft einfach in die Fehlerkonsole (Wo finde ich die Fehlerkonsole?) schauen.
    Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Goethe)

  3. #3
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.710

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Zitat Zitat von samuel Beitrag anzeigen
    Mein eigentliches Problem ist aber folgendens:
    In den Galerie-Html-Dateien habe ich einen Zurück-Link installiert, der auf die vorherige Seite verlinken soll, also entweder auf "Galerien" oder auf "Galleries", allerdings soll er auf die sprachlich richtige Seite verlinken. Dafür soll die vorher gesetzte globale Variable benutzt werden.
    Geht nicht. Eine globale Variable existiert nur solange wie deine Seite, jedoch nicht "Seitenübergreifend", also nicht mehr auf der verlinkten Seite.
    Mein Tipp: mache dir 2 Sätze von html-Dateien, ein Satz für Deutsch und einen für Englisch.
    Beispiel: Santorini Bildergalerie (oben mit der Flagge wird "umgeschaltet")

  4. #4
    solirocks ist offline Eroberer
    registriert
    18-03-2010
    Beiträge
    52

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Man kann doch auch mit Javascript Cookies setzen und bearbeiten. Du kannst den Code auch als Hash übergeben

    HTML-Code:
    example.com/seite2.html#de
    Falls Dir PHP zur Verfügung steht, einfach den Sprachcode mit der URL übergeben und per

    PHP-Code:
    print $_GET['language']; 
    in den Javascript auf der Seite einfügen.

    Oder ihn als Cookie oder in einer Session Variable speichern.

  5. #5
    solirocks ist offline Eroberer
    registriert
    18-03-2010
    Beiträge
    52

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Zitat Zitat von jspit Beitrag anzeigen
    Geht nicht.
    An sich korrekt, aber in meinem Posting davor habe ich bereits geschrieben, wie man dies auch clientseitig lösen kann. Es geht also doch.

  6. #6
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.710

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Mein Geht nicht bezog sich auf das Zitat, das über eine globale Variable zu machen.

  7. #7
    samuel ist offline Grünschnabel
    registriert
    30-06-2011
    Beiträge
    4

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Hallo,

    herzlichen Dank für Eure Antworten! Das hilft mir sehr!

    Wie solirocks vorgeschlagen hat, werde ich zur Cookie-Variante wechseln. Allerdings ergeben sich dabei für mich auch noch Schwierigkeiten.

    Die "Galleries"-Seite soll einen Cookie setzen, der den Link der "Galleries"-Seite enthält:

    document.cookie="link=www.samuelzimmermann.de/galleries/; domain=samuelzimmermann.de"
    bzw. document.cookie="link=www.samuelzimmermann.de/galerien/; domain=samuelzimmermann.de" auf der deutschen Seite.

    Dann soll der Zurück-Button auf der eigentlichen Galerie-Seite diesen Cookie auslesen und zur darin verlinkten Seite wechseln; wenn kein Cookie vorhanden ist, soll auf "www.samuelzimmermann.de/galleries" gewechselt werden. Nur wie mache ich das? Konkreter formuliert:
    Wie schreibe ich diesen Befehl in den Button (sieht bisher so aus: <div id="parent"><was auch immer hier rein muss></div>)?
    Wo muss ich die Auslese-Funktion auf der Seite platzieren und wie schreibe ich die genau?

    Ich habe mich schon auf unterschiedlichen Seiten durchgelesen, konnte die Beispiele aber nicht auf meine Seite anwenden. Danke für Eure Hilfe!

    Lg Samuel
    Geändert von samuel (30-06-2011 um 23:11 Uhr)

  8. #8
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Was hast du denn probiert?

  9. #9
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.710

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Nicht alle Nutzer lassen Cookies zu. Die von solirocks vorgeschlagene Hash-Variante dagegen funktioniert bei allen Nutzern die javascript zulassen.
    Wenn du bei der Cookie-Variante bleiben möchtest, dann schau mal hier (Wie speicher und lade ich Strings in Cookies?) rein.

  10. #10
    samuel ist offline Grünschnabel
    registriert
    30-06-2011
    Beiträge
    4

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Hallo,

    danke für Eure Antworten!
    Dann werde ich wohl doch besser die Hash-Variante benutzen.

    Auf der "Galleries"-Seite habe ich einfach ein #de an den Link zur Galerie-Seite gehängt.
    Im Quelltext der Galerie-Seite habe ich dann folgende Skripte eingefügt, einmal im Header:

    <?php
    print $_GET['language'];
    ?>
    <script type="text/javascript">
    function Language () {
    if (language = "de") {
    window.location.href = "http://www.samuelzimmermann.de/galerien.html";
    } else {
    window.location.href = "www.samuelzimmermann.de/galleries.html";
    }
    }
    </script>

    und im Zurück-Link:

    <div id="parent"><a href:"Javascript:language()"><Back></a></div>

    Die Fehlerkonsole zeigt keinen Fehler an, aber beim Anklicken des Zurück-Links passiert nichts. Würdet ihr mir da noch weiterhelfen? Danke für Eure Geduld mit mir Anfänger!

    Lg Samuel

  11. #11
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Zitat Zitat von samuel Beitrag anzeigen
    Die Fehlerkonsole zeigt keinen Fehler an,
    Das glaube ich dir nicht.

  12. #12
    samuel ist offline Grünschnabel
    registriert
    30-06-2011
    Beiträge
    4

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Das glaube ich dir nicht.
    Fand ich auch verwunderlich (vgl. Screenshot im Anhang). Ich verstehe leider nicht viel von programmieren und bin über jede Hilfe dankbar.

    Lg Samuel
    Angehängte Grafiken Angehängte Grafiken

  13. #13
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Aber nicht mit dem Code, den du uns gezeigt hast. Da kannst nämlich nirgendwo drauf klicken. Wenn du den Code reparierst , dann kriegst du eine. Wenn du den Link anklicken kannst dann schon:
    Code:
    Fehler: language is not defined
    Quelldatei: javascript:language()
    Zeile: 1

  14. #14
    solirocks ist offline Eroberer
    registriert
    18-03-2010
    Beiträge
    52

    AW: OnClick und dann Auswahl eines von zwei Links anhand globaler Variable

    Du solltest javasript nicht in den href setzen. "Javascript:" kannst du Dir dann auch sparen. Zudem hast du Hash mit der Get-Variable verwechselt.

    Wenn du kein PHP hast, dann gibt es mit Javascript die Möglichkeit mit Hash Strings zu arbeiten. Du kannst auch die ganze URL parsen, wenn Dir danach ist. Bleiben wir aber beim Hash String.

    Mit:

    HTML-Code:
    window.location.hash
    Erhälst du den aktuellen Hash deiner Url. Das wäre dann entweder "#de" oder "#en" oder ""/null. Wenn Hash also null ist oder leer, dann ist die Sprache de. Wenn Hash de, dann de und wenn Hash en, dann eben en.

    So definierst du deine "globale" Variable jedesmal aufs Neue und kannst die Sprache weitergeben. Nur scheinen Dir die Grundlagen zu fehlen.

    Wenn du PHP hast, dann würde ich Dir nahe legen, dich ein wenig mit PHP zu befassen. Mit PHP könntest du Dir dann ein Template erstellen und zwei Sprachdateien. Je nach Version, könntest du dann eine andere Sprachdatei laden.

    Gruß

Ähnliche Themen

  1. Form anhand eines Inputelements ermitteln
    Von julius-krebs im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 06-11-2009, 12:45
  2. Antworten: 5
    Letzter Beitrag: 17-03-2008, 12:24
  3. Zwei Selectmenüs --> Automatisch Auswahl
    Von duerov im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 29-03-2006, 16:42
  4. Antworten: 4
    Letzter Beitrag: 09-02-2005, 08:55
  5. Antworten: 0
    Letzter Beitrag: 22-04-2004, 14:46

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •