Dropdown-Container abgeschnitten

  • Hey,



    Zitat

    Das mobile Menü funktioniert nur auf der mobilen Startseite nicht. Weshalb, habe ich bisher noch nicht rausfinden können und leider hier auch noch niemand. Also, wenn Du eine Lösung hast, nur raus damit. :)


    Ich denke es liegt am Javascript. Denn wenn da die entsprechende JS-Function sowie Aktion genutzt wird, sollte sich wenigstens das Menü zeigen.

    Um dir dort besser helfen zu können brauche ich den Code.


    Zitat

    Was meinst Du bitte mit:


    Sorry, bin nicht fit in Javascript.

    Wie verarbeitest du die Formulardaten? Mit PHP oder Javascript ?


    Generell ist es so. Wenn du einer Variable einen Wert zuweisen möchtest. Dieser Wert aber nur optional ist. Dann ist der Wert der Vairable ungesetzt. Und somit wird immer undefined (undefiniert ausgegeben).


    Beispiel:


    https://jsfiddle.net/fxykajqt/2/


    Grüße,

    Stef

  • Hallo Stef,


    iIch habe dort nun mal <option selected value=0>beliebig</option> eingefügt. Somit wird ein Wert übergeben und es funktioniert. Da aber eine Mehrfachauswahl möglich ist, kann ich diese Lösung nicht gebrauchen.

    Gibt es eine Möglichkeit, irgend etwas leeres zu übergeben, damit das Eingabefeld für den Abflughafen bei Nichtauswahl leer bleibt? Ehrlich gesagt, weiß ich nicht, wie ich Dein angegebenes Beispiel einfügen soll.


    Die Javascript-Datei siehst Du unter

    Code
    http://www.preiswerterbuchen.de/test/java/line.min.js


    Das Kuriose an dem mobilen Menü ist ja, dass es auf allen Unterseiten einwandfrei funktioniert. Es müsste also auch an diesem Javascript liegen.

  • Hey,


    Zitat

    Gibt es eine Möglichkeit, irgend etwas leeres zu übergeben, damit das Eingabefeld für den Abflughafen bei Nichtauswahl leer bleibt? Ehrlich gesagt, weiß ich nicht, wie ich Dein angegebenes Beispiel einfügen soll.

    Ja du kannst dem ersten <option> eine Value geben oder nicht. Dann überprüfst du was rein kam und stellst so den Link zusammen.



    Dies ist ein sehr langer Code. Gehe mal bitte in Zeile 5632 zur function f(). Diese ermittelt, meiner Ansicht nach, die Values von der Anzahl der Kinder und der Erwachsenen.


    Ändere diese mal bitte so ab und teste es bitte:


    JavaScript
    function f() {
                var b = null,
                    c = null,
                    d = "";
                  b = a("#adults").val();
                  c = a("#children").val();
                if ("0" !== c)
                    for (var e = 1; e <= c; e++) d += a("#children-age" + e).val() + "k/";
                return b + "Erw/" + d
            }


    Wer hat denn dieses Script geschrieben? Bzw. woher hast du es?



    Grüße,

    Stef

  • Hallo Stef,


    ich hab´s nun eingefügt, leider kein Unterschied.

    Verstehe ich es falsch, oder müsste nicht etwas an dem Auswahlfeld Abflughafen geändert werden, da dieses doch anscheinend das undefined verursacht?

  • Guten Morgen Stef,


    wie schon geschrieben, leider keine Veränderung. Der Fehler ist immer noch da. ;(

    Vielleicht kannst Du nochmal draufschauen, ob ich beim Einbinden einen Fehler gemacht habe?

  • Hey,


    Ich habe mir gerade mal den Quellcode angeschaut. Komischerweise kann ich in diesem keine Daten aus der Navigation finden (Abflughafen, Erwachsenen, ...).


    Woher hast du denn das Jquery Script?

  • Hey,


    acho. Dies wird dann alles durch das JQuery-Script ausgegeben?


    Das ist meiner Meinung nach eine doch sehr schlechte Idee. Warum denn per Jquery?

    Das ist doch ein einfaches Formular. Dann kannst du die ganzen Daten mittels Javascript an die PHP-Datei senden und weiterverarbeiten.


    Dies ist viel einfacher als alles mit dem Jquery Script zu machen. Ich habe von Jquery sehr wenig Ahnung. Kann dir dabei also jetzt kaum helfen. Wenn du das Formular im HTML-Code einfügst, kann ich dir helfen.


    Wenn du beim Jqueryscript bleiben möchtest dann kontaktiere den Datenbankvertreiber, welches das Script erstellt hat.

  • Hallo Stef,


    ich möchte nicht zwangsweise dabei bleiben, nur bin ich für eine andere Lösung zu blöd. Ich kenne mich einfach leider nicht so gut aus.


    Gibt es denn vielleicht die Möglichkeit, das Abflughafenfeld mit "Flughafen auswählen" zu beschriften und wenn nichts eingegeben wird, soll beim Klicken auf "Suchen" eine Fehlermeldung kommen "Bitte geben Sie einen Abflughafen an"?


    Hast Du eventuell noch einen Tipp wegen des mobilen Menüs, welches nur auf der Startseite nicht angezeigt wird?


    Viele Grüße


    Rainer

  • Hey,


    Zitat

    ich möchte nicht zwangsweise dabei bleiben, nur bin ich für eine andere Lösung zu blöd. Ich kenne mich einfach leider nicht so gut aus.

    Dann rate ich dir erstmal die Grundlagen zu lernen, sehr gute Tutorial welche die Themen behandeln, welche du brauchst, sind :


    Meiner Meinung nach sollte ein Formular auch ohne JS funktionieren.


    Zum Flughafen:


    Ich denke das undefined kommt vom weglassen des Flughafens, denn an der Kindern kann es ja nicht liegen weil wir den schon eine Standardvalue von null gegeben haben. Ich habe jetzt mal das Attribut required beim <select> hinzugefügt. Das required sorgt dafür, dass wenn kein Abflughafen ausgewählt wurde das Formular auch nicht abgesendet wird. Erst wenn der Abflughafen einen Wert besitzt wird das Formular abgesendet.


    Gehe mal in Zeile 5473 und tausche deinen Code bis zur Zeile 5489 mit folgendem Code aus:


    Gib dann bitte mal eine Rückmeldung ob es so funktioniert.


    Stef

  • Zum Menü in der mobilen Ansicht:


    Die Navigation startet in der Zeile 158 und wird nicht geschlossen. Dann erstellst du in der Zeile 165 nochmal eine Navigation, bzw ein <nav>-element.

    Schließe die Navigation und ändere die Zeile 165 mal so ab:


    HTML
    <div class="fusion-mobile-nav-holder fusion-mobile-menu-text-align-left"></div>
  • Hallo Stef,


    nochmals vielen Dank, dass Du Dir soviel Mühe machst. Ich werde Deinen Rat befolgen und mich mal vernünftig einlesen. Leider muss ich allerdings die Datenbank bis Monatsende lauffähig haben.


    Ich habe den Absatz für den Abflughafen so wie beschrieben ersetzt. Leider ist keinerlei Änderung festzustellen.


    In welcher Datei soll ich die Zeile für das mobile Menü ersetzen?

  • Das "fusion-mobile-nav-holder" kommt doch von Wordpress, oder? Dort kann doch eigentlich der Fehler mit dem Menü nicht liegen. Wenn ich die Suchmaske komplett entferne, funktioniert das mobile Menü nämlich doch auch auf der Startseite.

  • Das "fusion-mobile-nav-holder" kommt doch von Wordpress, oder? Dort kann doch eigentlich der Fehler mit dem Menü nicht liegen. Wenn ich die Suchmaske komplett entferne, funktioniert das mobile Menü nämlich doch auch auf der Startseite.

    Ja - deswegen hatte ich dir ja auch schon in meiner Antwort #31 schon den Rat gegeben, dich mit den Entwicklern von deinem Theme und den Entwickler von diesem Such- Datenbank Plugin in Verbindung zu setzen! Irgendwo zwischen diesen beiden Stellen liegt dein Problem - die Inkompatibilität wirst du mit mit eigenen Mitteln nicht beseitigen können.

  • Hey,

    Warum funktioniert required nicht? Das finde ich jetzt schon merkwürdig.


    Habe es garnicht mitbekommen, dass dies ein Wordpress Theme ist. Dann rate ich dir das selbe wie Sailor.
    Versuchen kannst du es ja trotzdem, denn die Navigation schließt sich im HTML-Quelltext nicht. Dies ist schon ein Fehler.


    Dies ist der akutelle HTML-Code deiner Navigation:

    HTML
    <nav class="fusion-main-menu" aria-label="Main Menu"> 
    
    <!-- Menüinhalt (entfernt da zu groß) -->
                                <a href="#" class="fusion-icon fusion-icon-bars" aria-label="Toggle mobile menu"></a>
            
            
            
                </div>
    
    <nav class="fusion-mobile-nav-holder fusion-mobile-menu-text-align-left"></nav>

    Da siehst du das das 1.ste <nav> nicht geschlossen wird. Dies ist Fehler 1. Der 2te Fehler ist, dass nachdem nochmal <nav> genutzt wird. Das <nav>-element darf man nur einmal pro Seite verwenden.


    Ändere dies mal bitte zu :


    HTML
    <nav class="fusion-main-menu" aria-label="Main Menu"> 
    
    <!-- Menüinhalt (entfernt da zu groß) -->
                                <a href="#" class="fusion-icon fusion-icon-bars" aria-label="Toggle mobile menu"></a>
            
            
           </nav>
                </div>
    
    <div class="fusion-mobile-nav-holder fusion-mobile-menu-text-align-left"></div>

    und gebe uns dann bitte Rückmeldung ob es funktioniert.


    Gruß,

    Stef

  • Hallo zusammen,


    vielen Dank für den Lösungsansatz zu dem mobilen Menü. Leider hat der nicht funktioniert.

    Ich habe aber mal nachgeschaut nach einem Plugin und wurde fündig. Nun habe ich einfach ein anderes mobiles Menü eingefügt und das originale ausgeblendet. Das scheint nun zu funktionieren. :)


    Nun brauche ich nur noch eine Lösung für das Problem, das ohne einen Abflughafen keine Kinder übergeben werden. Die Variante, es als Pflichtfeld zu machen, gefällt mir eigentlich schon gut, aber leider funktioniert der Code nicht.


    Wenn kein Flughafen ausgewählt wird, sollen ja alle beliebigen Flughäfen übergeben werden. Es sieht dann so aus: .../pauschalreise/regionen/250518-080618/7t/ahc-/2Erw/

    Es müsste also bei Nichteingabe eines Flughafens dieses ahc- übergeben werden, dann taucht das undefined nicht mehr auf.

    Ist das vielleicht umsetzbar?

  • Hey,


    Alles klar. Problem "Menü" gelöst.


    Nun zum Flughafen:


    Ich habe mir nochmal den Jquery Code angeschaut. In Zeile 5622, bei der function d(), wird der Teil der Url des Flughafens zurückgegeben.


    Ändere diese function d() bitte so ab und gebe uns eine Rückmeldung:


    JavaScript
    function d() {
                if (null !== a("#js-airports").val()) return a("#js-airports").val().length > 0 ? "ahc-" + a("#js-airports").val() + "/" : "ahz-/"
            }



    Grüße,

    Stef

  • Hallo Stef,


    es soll wahrscheinlich "ahc-/" heißen. Aber auch diese Änderung hat leider keinen Effekt auf das undefined.


    Die zuvor gemachten Änderungen sollte ich doch beibehalten, oder?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!