Variablen Wert von Seite an Suchformular übergeben

  • Hallo zusammen,


    ich habe ein kleines Problem mit meiner Website – und zwar geht es dabei um eine Suchmaschine für Fahrräder.
    Zuerst sucht man sich also das passende Fahrrad aus und gelangt dann auf die Detailseite des Fahrrads, z.B.:

    Beispielfahrrad


    Jetzt gibt es oben rechts auf der Detailseite die Funktion einen "lokalen Händler" zu suchen.

    Sobald man auf den Button klickt öffnet sich eine Suchmaske, bei der man seinen Standort als Ausgangspunkt eingeben kann.

    Gibt man seinen Standort ein und klickt auf "Suchen" findet man nun alle Fahrradhändler in dem festgelegten Umkreis.


    Das führt allerdings zu dem Problem, dass nicht jeder Händler auch jede Fahrradmarke verkauft.

    Deswegen würde ich gerne beim Übermitteln des Suchformulars noch die auf der Detailseite angegebene Fahrradmarke mit berücksichtigen.

    Das wäre in diesem Fall "Puky" (zu finden bei "Allgemeinen Informationen -> Hersteller").


    Nach stundenlanger Recherche habe ich versucht das Ganze mit dem folgenden Input Feld zu realisieren:

    <input type="hidden" name="data[Field][Listing][jr_gefuhrtemarken]" value="" />

    "Geführte Marken (jr_gefuhrtemarken)" ist das Feld in dem bei den Händlern die geführten Marken hinterlegt sind.


    Wenn ich das "value" jetzt von Hand eintrage, z.B.: value="Puky", funktioniert das Ganze auch wunderbar.

    Allerdings ist dieser Wert variabel und muss sich je nach Fahrrad entsprechend ändern.


    Deswegen habe ich versucht den Wert "<?php echo $CustomFields->fieldText('jr_hersteller',$listing,false,false); ?>" als Value zu hinterlegen.

    Das ist das Feld, in dem bei den Fahrrädern der Hersteller hinterlegt ist.


    Allerdings übergibt er dieses Feld nicht beim Absenden des Formulars.


    Ich muss den Wert vermutlich erst noch irgendwie von der Detailseite abholen um ihn in dem Suchformular mit zu übermitteln.

    Allerdings liegt genau da das Problem, ich habe keine Ahnung wie ich an den Wert dran komme.


    Vermutlich sind das nur 5-10 Zeilen Javascript, aber ich hab da leider keinen blassen Schimmer von und hoffe, dass mir jemand von euch damit helfen kann.

    Viele Grüße

    hanSojay

  • Guten Morgen zusammen,


    nach einigem Ausprobieren bin ich auf folgenden Lösungsansatz gekommen:


    <script>

    function marke() {

    alert(document.getElementsByClassName("hersteller_item_details") [0].innerHTML);

    }

    </script>


    Mit dieser Funktion bekomme ich es schonmal hin, dem Suchbutton die onclick="marke()" Funktion zuzuweisen.
    Natürlich erscheint dann beim Absenden des Suchformulars nur ein Alert-Fenster, welches aber zumindest schonmal den gewünschten Wert ausgibt.


    Allerdings möchte ich diesen Wert nicht in einem Alert-Fenster ausgeben, sondern als value in einem versteckten Dropdown-Menü hinterlegen:


    <select name="data[Field][Listing][jr_gefuhrtemarken]" class="jrSelect gefuhrtemarken" style="display:none;">

    <option value="Hier soll der ausgelesene Wert stehen">Hier soll der ausgelesene Wert stehen</option>

    </select>


    Schöner wäre es natürlich, den ausgelesenen Parameter beim Absenden des Formulars einfach direkt an die Ziel-URL anzuhängen:

    "...&jr_gefuhrtemarken=Hier soll der ausgelesene Wert stehen".


    Kann mir da denn wirklich niemand bei helfen? Ich komme einfach nicht weiter :(


    Viele Grüße
    hanSojay

  • Ich weiß zwar nicht genau wie, aber ich habe es nun doch selbst hinbekommen.

    Ich poste hier mal meine Lösung, vielleicht hilft das ja noch dem ein oder anderen zukünftig:

    Code
    <select name="data[Field][Listing][jr_gefuhrtemarken]" class="jrSelect gefuhrtemarken" style="display:none;">
    <option id="gefuhrtemarken" value=""></option>
    </select>
    
    
    <script type="text/javascript">
    var marke = document.getElementsByClassName("hersteller_item_details") [0].innerHTML;
    document.getElementById("gefuhrtemarken").value = marke;
    </script>


    Viele Grüße

    hanSojay