[Solved/Gelöst] Html Submit Form (Searchbox) veränderte Position "Suchparameter"

  • Hi,


    kurze Frage, die evtl. recht einfach zu beantworten ist, mir aber Kopfschmerzen bereitet.


    In folgendem Code





    Wie kann ich hier dafür sorgen das die "SuchURL" nach dem submit nicht


    api.github.com/users/xxx/events/public?q=#WERT#


    sondern


    api.github.com/users/#WERT#/events/public


    lautet ?


    Leider wird via "GET" Funktion immer ?q= als Parameter angehängt, ich würde aber ein "einsetzen bevorzugen.


    Hoffe das ist nicht zu verwirrend.


    Keine Suchmaschine kann mir da bisher weiterhelfen.


    Daher: Danke im vorraus


    - pasc



    PS: Was den HTML Code betrifft:

    Dieser funktioniert unter:

    - Android 7.0 - Windows 7 (Firefox) - Ubuntu (Firefox) - WiiU (Browser)

    tadellos,


    schlägt aber unter

    - iPad2 (iOS, Mobile Safari, iOS9) - Nintendo 3DS (?? Browser) beim Absenden fehl

    - bzw. lässt sich nicht absenden - nichts passiert


    Falls da jemand auch eine Idee hat, wär das super.

  • Wenn du die Url änderst ( egal wie ) wirst du wohl auch das Suchscript dahinter ändern müßen.

    Das reagiert jetzt auf die GET ['q'] Variable die danach nicht mehr da ist.

    Willst du das auch ändern oder wie ?


    Ich würde erstmal den Submit Button Löschen und ein normalen nehmen.

    Dann ein addEventlistener nehmen der das Textfeld auslesen tut.

    Dann die Url nach deinen wünschen zusammen bauen und über location.href aufrufen.

    Oder vieleicht Ajax nehmen, jenachdem was das werden soll.


    EDIT:

    Es geht aber auch mit Submit Button.

    Man muss ja nur das action Attribute zu tauschen

    Ich hoffe mal das es so geht



    Kuck dir mal deine Css an, da sind 2-3 Sachen die Falsch sind bzw nicht nötig sind ( zumindest in dieser Darstellung jetztz )

  • Die überarbeitete Version die von Dir gepostet wurde, ist die fehlerfrei ?

    (Wäre deswegen interessant, weil der Code dann ja vielleicht doch auf all meinen Endgeräten laufen könnte ?)



    Muss ich mir direkt anschauen.


    Danke !


    Edit: Ha ! Wie cool :) Funktioniert einwandfrei :D

    (Das einzige was etwas eigen ist, ist die Länge des Codes, aber da er funktioniert werde ich das definitiv so lassen)

  • Die überarbeitete Version die von Dir gepostet wurde, ist die fehlerfrei ?

    Wenn ich nix übersehen habe dann ja


    (Das einzige was etwas eigen ist, ist die Länge des Codes, aber da er funktioniert werde ich das definitiv so lassen)

    Das ginge noch kürzer wenn man submit,form, weg läßt.

    Vieleicht hat wer anders noch nee andere Lösung ?

  • Eine Frage noch:


    Wenn ich mehrere deiner Boxen in einem Script in einer Html verwenden will, ersetze ich doch nur den "xxx" String durch etwas anderes,

    um der neuen Suchbox einen eigenen ID zu geben, korrekt ?


    Seltsamerweise scheint das nicht so recht zu funktionieren, wenn ich mehrere "hintereinanderschalte".

    (Bin einfach mal das Alphabet in 3er Schritten durchgegangen á abc, def .. etc)

    => Die erste ersetzt wie gewünscht den Parameter, die darauffolgenden nicht mehr.

  • Kommt drauf an.

    Wenn du 10 Boxen hast mit 10 verschiedene Action Links sollte man sich was mit querySelector all und Klassen zusammen bauen.

    Du willst ja nicht 10 Mal den Javascript Code einbinden wo nur die Ids anders sind.


    Zeig doch mal ein Beispiel HTMl wie du das genau meinst ?

    Auch mit den Links ,wie die vorher aussehen und danach ( falls es verschiedene sind )

  • Ich hab im letzten Post ein Wort mit Hyperlink versehen.

    (Billigstes Copy n Paste, das Forum meckerte darüber das der Eintrag sonst zu lange wäre, daher musste ich das auslagern.)


    So dachte ich mir das.


    Denke aber - nach deinem Post - das das so wahrscheinlich nicht funktionieren kann.


    Nett wäre es halt schon, wenn ich ein Snippet hätte mit dem ich "neue Suchboxen" einfügen kann wenn gewünscht, ohne alles neu aufrollen zu müssen.

  • Ja das ist natürlich Mist so.

    1 das mit der Css ist vollkommen Müll.

    Da brauchst du nicht alles doppelt und 10 fach rein kopieren.

    dann die ganzen Boxen.

    Du hast überall die gleichen Ids drinne was sowieso schon mal nicht erlaubt ist.

    Am besten wäre da mit querySelector all zu arbeiten.


    Hast du schon nee Idee wie viele Boxen du überhaupt brauchst ?

    Ich sehe ja das du immer nur den einen Ordner im Link ändern willst.

    wäre da ein <select><option>xxx</option></select> Menü nicht einfacher ?

  • Wenn ich jetzt von den Code aus post #4 ausgehe, und du da mehrere Boxen mit verschiedene Links haben willst könnte man es so machen

    Nur den sinn verstehe ich nicht ganz ,da man ja den Text ändern kann wie man will würde ja auch eine Box reichen.

    Selbst wenn du den ganzen Link ändern willst kann man es mit einer Box machen.


    Man könnte auch wie ich schon sagte das <select> Menü benutzen damit deine Besucher keine Falsche Angaben machen können.


    Du könntest ja mal erklären was du da genau vor hast dann könnte man da auch nee bessere oder nee leichtere Lösung suchen

  • Der Sinn ist einfach:


    Mehrere Suchboxen, für verschiedene Seiten, vereint auf einer.


    Eine z.B. für DuckDuckGoGo, eine fürs Waybackarchive usw.


    Alles auf einer html Seite vereint. Damit man die als Homepage setzt, und dann sofort nach Eingabe (auf welchem Browser auch immer) direkt zum Suchergebnis kommt.


    Die Übung mit dem "String ersetzten" dient für Suchanfragen, die nicht nach dem Standartmuster arbeiten, sondern den Suchbegriff irgendwo innerhalb der URL vergraben.

  • jo ok.

    Dann könnte man es so machen wie gezeigt.

    Man muss halt nur die Links und die id ersetzten.

    Man kann die id auch weg machen und mit data-seite='zutauschener_teil_aus_link" ersetzten.

    Man muss im Script dann nicht die Id auslesen sondern den data-seite wert

  • Ich würde die Parameter-Übergabe per POST umsetzen, nicht direkt auf das Ziel leiten, sondern auf ein serverseitiges PHP-Script, das die Informationen per cURL entsprechend von den gewünschten Seiten zieht und das Ergebnis zur Verfügung stellt.

    Ist auch ein idealer Einsatzzweck für Ajax.


    Nicht vergessen, Quellenangaben zu verwenden, wenn Suchergebnisse von fremden Seiten genutzt werden!

  • Ich mußte deinen Beitrag mehrmal lesen damit ich verstanden habe wie du das meintest ( werde wohl alt oder dumm ).

    Dachte erst wie soll das gehen weil er bestimmt nicht Inhaber von "DuckDuckGoGo" ist und gar nicht an Php dran kommt.


    Aber jetzt verstehe ich es.

    Dann könnte man auch gleich aus 20 Boxen eine machen und die Suchseiten in ein <select> packen.

    Wäre dann übersichlicher.

    Ich würde die Suchseiten dann in ein Array packen , den zu ersetzen Teil dann auch.

    Dann Post Anfragen auswerten,mit Array vergleichen und dann weiter zu Curl.


    pasc Kannst du Php bei dir nutzen ?

    um den Vorschlag von Arne Drews umzusetzen ?


    Vieleicht kann dir dann einer von den Php Profis dabei helfen.

    Ich würde das wohl auch noch hinbekommen ,

    doch der Code wäre dann nicht zum weitergeben weil ich den Curl kram noch nicht so behersche.

  • Php wäre denkbar.

    (Auch wenn ich eine php freie Lösung bevorzugen würde, da ich über einen GoogleDrive Direct link auf die Seite zugreife, und ich nicht genau weiss wie's da mit einbinden von Libraries (nötig ?) aussieht ...)


    Das mit der Dropdownbox klingt interessant !

    (Da hab ich so noch gar nicht drüber nachgedacht :) )


    Ich nehme an "Curl" ist Systemweit verfügbar ? (OS unabhängig ?)


    Wies am Ende aussieht stört mich nicht, so lange es funktioniert.

    (Gibt es etwas wie "ästhetisches Programmieren" ? ;) ? )

  • Auch wenn ich eine php freie Lösung bevorzugen würde

    Warum? Die Alternative wäre JavaScript, das läuft aber clientseitig, weshalb Du keinen Einfluß darauf hast, ob die Seite wie von Dir gedacht auch wirklich bei jedem läuft. Ein paar Sichworte:

    • abweichendes Browserverhalten
    • deaktiviertes JavaScript
    • diverse Script-Blocker


    Ich nehme an "Curl" ist Systemweit verfügbar ? (OS unabhängig ?)

    Wenn PHP installiert ist, ist cURL in 99,99% der Fälle auch mit an Bord.

    Ansonsten muss das natürlich nachinstalliert werden, da es keine OS-Basiserweiterung ist. cURL sollte allerdings für jedes wichtige OS verfügbar sein.


    Gibt es etwas wie "ästhetisches Programmieren" ?

    Ja, aber lass Dich jetzt bitte nicht von irgendwelchen Leuten in die PSR-Verdammnis lenken.

    Code muss lesbar sein, d.h.:

    • Einrückung beachten
    • Namensgebungen "sprechend" bevorzugen ( Namespaces, Klassen, Methoden, Variablen, usw. )

    Wenn Du die Dinge beherzigst, kommst Du automatisch in die Richtung PSR. 100% muss das nicht sein, hauptsache der Code ist lesbar.

    Stell Dir vor, Du arbeitest im Team und andere Entwickler sollen mit Deinem Code das erste Mal arbeiten. Oder umgekehrt, Du musst das erste Mal mit dem Code eines anderen arbeiten.

    ;)

Jetzt mitmachen!

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