Beiträge von tk1234

    Wenn das Input mit Inhalt gefüllt ist, soll das eine div ausgeblendet und ein anderes eingeblendet werden.
    Code <div id=\"weiterinaktiv\" class=\"buttonoff\" style=\"\" onclick=\"\">Weiter</div> <div id=\"weiteraktiv\" class=\"buttonon\" style=\"display:none;\" onclick=\"weiter1();\">Weiter</div>

    Div-Elemente dürfen (wie alle nicht interaktiven Elemente) nicht mit click-Handlern klickbar gemacht werden - so ist dein Formular unbedienbar da das div nicht per Tastaturbedienung erreichbar ist. Und selbst wenn das zwei richtige Buttons wären: die sind überflüssig, es reicht völlig einen Button zu verwenden und nur den disabled-Status zu setzen/zu entfernen.

    Und: vergiss dass es jQuery mal gab, das ist überflüssig geworden und kann problemlos durch ganz normales Javascript ersetzt werden.

    PS: Noch einfacher geht es, wenn Du die Formularvalidierung von HTML5 benutzt:

    Die Inputs in ein Formular legen und ihnen ein "required" geben, dann kannst Du mit der Funktion checkValidity prüfen, ob alles valide ist bzw. in deinem Fall alle Inputs ausgefüllt: […]

    Das geht auch einfacher: einen input-EventHandler auf form registrieren (natürlich nicht mit oninput sondern mit addEventListener), dann macht ein einziger Eventhandler das gleiche.

    Ich wende mich an die Fachleute, da das nicht mein Fachgebiet ist. Ich suche nach einer Lösung, um in verschiedenen HTML-Dateien individuell eine Javascript-Funktion (mit 3 Parametern) aufrufen zu können, womit ein ganz bestimmter Ausschnitt (fetch; definiert durch eine "div-id") zurückgegeben werden soll. Grundgedanke ist, in einer HTML-Datei verschiedene, durch div-id ausgezeichnete Abschnitte in anderen html-Dateien einfügen zu müssen, um so redundante Daten zu vermeiden.

    Und warum baust du die HTML-Teile nicht schon auf dem Server mit PHP zusammen? PHP scheint doch ohnehin im Spiel zu sein, mir erschließt sich der Sinn nicht warum man das mit Javascript zusammenpfuschen möchte.

    Ich glaube, mich bisher redlich bemüht zu haben, schaffe es aber nicht, bis zum gewünschten Ziel zu kommen. Ich stelle auch gerne zur Verfügung, was ich soweit habe.

    Mir ist nicht so ganz klar was du da eigentlich vor hast: warum gibt es die sowohl in der Datei selbst als auch in der separaten js-Datei jeweils eine Funktion mit identischem Namen? Du musst schon etwas konkreter werden woran es genau scheitert.

    Deine Funktion in der externen Datei braucht vermutlich auch noch Parameter über die angegeben kann welches Element der geladenen Inhalte verwendet werden soll und in welches Ziel-Element der Inhalt eingefügt werden soll. Sinnvoll wäre wohl auch noch die Angabe des zu landenden Inhalts an den Server mit zu übergeben damit der nur den benötigten Inhalt liefert und nicht einfach alles …

    Womit mir nicht wirklich gedient ist, sind Grundsatz-Belehrungen. Ich bin IV-Rentner und arbeite mit Leidenschaft an einer Familien-Homepage. Ich bin mir bewusst, dass es fachlich sinnvoll wäre, mir zuerst das nötige Basis-Wissen anzueignen. Aber gerade das möchte ich (aus verschiedenen Gründen) nicht.

    Ich weiß ja nicht was deine Gründe dafür sind dich nicht mit den Grundlagen zu beschäftigen - im Grunde hast du aber zwei Möglichkeiten: entweder eignest du dir die Grundlagen selbst an oder du bezahlst jemanden dafür dass er das gewünschte für dich programmiert. Ein Forum ist aber kein Codelieferservice sondern sollte eher als Hilfe zur Selbsthilfe verstanden werden (ja, es gibt meist welche die ständig fertige Lösungen hinknallen das bringt dem Fragenden aber exakt nichts - und wäre hier ohnehin wohl nur sehr eingeschränkt bis garnicht möglich, dafür müsste man das Problem überhaupt erstmal verstehen). Und ja, das gilt für alle, völlig egal wie alt und mit welchem Vorwissen/Ausbildung usw..

    WHERE (tabelle1.autor = tabelle2.user AND `tabelle1.id`= ?) schreibe, kommt ein ähnlicher Fehler:

    // Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tabelle1.id' in 'where clause' in G:\xampp\

    Lass die Backticks weg, die sind meistens überflüssig - und wenn du sie verwendest, dann darfst du sie nur um Tabellen- und Spaltennamen setzen, aber nicht um beides zusammen.

    Deine ganze Konstruktion ist aber ohnehin nur mäßig sinnvoll: Datenbankabfragen sollten nie in Schleifen gemacht werden. Wie die Tabellen aussehen und welche Daten du genau brauchst geht aus deinem Posting nicht so ganz hervor, aber vom Prinzip her kannst du die Daten die du mit de zweiten Abfrage holst nach diesem Prinzip mit einer Abfrage holen:
    SELECT spalten FROM tabelle WHERE id IN (SELECT id FROM tabelle WHERE <BedingungZumHolenDerIds>)
    So bekommst du alle Daten ohne mehrere Abfragen ausführen zu müssen - das gleiche Prinzip funktioniert auch für UPDATE-Querys.

    Außerdem: den Javascript-Code solltest du nicht von Hand zusammenbauen (zumal bei dir die Behandlung des Kontextwechsels fehlt!), besser wäre es alle Daten als PHP-Array zu sammeln und dann per json_encode() einen JSON-String daraus zu machen welcher dann in den HTML-Code geschrieben wird. In Javascript hilft dann ein JSON.parse() um mit Javascript auf die Daten zuzugreifen - Zeichen die dir den JS-Code kaputt machen würden, werden dabei gleich entschärft und stellen kein Problem mehr dar.

    und dem Link so die klasse übergeben <a class=\"tcat\"

    aber es werden keine Styles übernommen...

    Logisch. Du hast hier einen Nachfahren-Selektor verwendet, die Regeln gelten also für Links die innerhalb eines Elements mit class="tcat" stehen - wenn der Link das class-Attribut hat, musst du die Klasse natürlich an das a anhängen.

    Übrigens: 1em ist die Schriftgröße die der Benutzer bei sich als gut lesbar eingestellt hat - 70% (also 0.7em) davon ist viel zu klein, verwende keine Schriftgrößen unter 1em (und wenn nur für unwichtige Dinge höchstens mal 0.9em aber auch das nur *ganz* selten). Und bei :hover die Schriftgröße zu ändern ist wenig sinnvoll da dann das Layout springt. Außerdem solltest du bei der Angabe einer Schriftfarbe auch immer eine Hintergrundfarbe angeben damit sichergestellt ist dass der Text auch lesbar ist und du nicht mal die ostfriesische Nationalflagge (weißer Adler auf weißem Grund) hast …

    im Moment geistern ständig Abgebote zur Erfüllung der Pflicht zur Barrierefreiheit im Netz. Offensichtlich hat die EU mal wieder ein Gesetzt verabschiedet, das Webseitenbetreiber und ihre Admins verpflichtet, die Pages barrierefrei zu gestalten.

    Das Gesetz (Barrierefreiheitsstärkungsgesetz) wurde bereits vor 4 Jahren verabschiedet - jetzt läuft nur die Frist ab in der die Umsetzung verpflichtend wird.

    Hat sich schon jemand aus dieser Runde mit dem Thema beschäftigt und wenn ja mit welchem Ergebnis?

    Das Gesetzt betrifft mich nicht, ich achte aber ohnehin schon länger beim Neuschreiben von Internetseiten darauf dass diese barrierefrei sind - das sollte man immer machen, das bringt allen etwas.

    Ich stelle mir die Frage muss man die PHP Version des Webhosting Anbieter nehmen 8.0 .

    Nein, PHP 8.0 sollte man überhaupt nicht mehr verwenden - diese Version wird nicht mehr unterstützt.

    Ansonsten habe ich keine Ahnung was dein Problem ist, da wirst du etwas genauer werden müssen - und: "geht nicht" ist keine Problembeschreibung.

    Leider gibt es aber ein Problem. <marquee> ist halt einfach veraltet und wird in vielen Browsern nicht mehr richtig unterstützt

    Caniuse sieht das aber anders, aber veraltet ist es natürlich trotzdem - aber weniger das Element sondern die Laufschrift. Wenn ein Text wichtig ist, möchte der Benutzer ihn direkt lesen können ohne darauf warten zu müssen dass er endlich durchgelaufen ist - und wenn der Text unwichtig ist, kannst du ihn auch einfach ganz weglassen. Lass das mit der Laufschrift also einfach ganz sein und schreib den Text einfach so hin.

    Ich möchte eine Seite machen, auf der der Besucher einen Code eingibt, der ihn dann auf eine Unter Seite bringt ..... Da wird dann nach dem Zugangscode verlangt ... 123456 und daneben hat es einen Knopf weiter der dann Http://meine-seite.com/123456.html öffnet.

    Und was wenn jemand die Seite direkt aufruft? Mit HTML alleine kommst du da aber nicht weit, du brauchst da eine serverseitige Programmiersprache - welche hast du zur Verfügung bzw. kannst du?

    Wenn man eine Seite hat die verschlüsselt ist, kommt bei neuen Nutzern eine Warnung, wo sie dann auf Risiko eingehen klicken müssen.

    Nur wenn mit dem Zertifikat irgendwas nicht stimmt. Der Normalzustand ist das nicht, auch bei Zertifikaten von z.B. Let's Encrypt gibt es keine Warnung - warum das bei dir nicht funktioniert lässt sich aus der Ferne nicht sagen. Aber eine unverschlüsselte Vorschaltseite ist eine ganz schlechte Idee: zum einen sollen Benutzer nie dazu erzogen werden auf verschlüsselte Seiten mit Warnung zu gehen und zum anderen würden Treffer in Suchmaschinen ohnehin auf die verschlüsselten Seiten verweisen.

    2021 habe ich unseren Onlineshop neu aufgesetzt als absoluter Neuling in der Materie CSS habe ich lange durch "Try and Error" gebastelt und probiert und im Endeffekt einen lauffähigen Shop erhalten, der vielleicht nicht den gängigen Schönheitsidealen entspricht, aber für mich zumindest nutzbar ist.

    Die verwendeten Techniken waren auch 2021 schon veraltet: Layouts mit float waren auch damals schon lange nicht mehr notwendig, grid (und flex) existierten auch damals schon und wurden auch schon längst von allen Browsern unterstützt. Auch werden irgendwelche Krücken für den IE, Mac-IE, Firefox 2 sowie Safari und Opera um 2000 rum verwendet - alle Browser(-versionen) sind lange nicht mehr relevant und die Krücken können ersatzlos entfallen.

    Von nutzbar ist die Seite auch weit entfernt: Tastaturbedienung ist nicht möglich da du die mutwillig kaputt gemacht hast (mit outline: 0pt;, das darf nur verwendet werden wenn aktive Elemente anderweitig gekennzeichnet werden). Von der Unbedienbarkeit der Navigation mal ganz zu schweigen: ohne Maus gibt es eben kein hover …

    Leider habe ich in dem Ganzen Probieren irgendwann im Stylesheet so dermaßen rum gespielt, daß der Shop auf Mobilgeräten nicht mehr angepasst wird.

    Evtl. hast du an der Zeile "@media (max-width: 100px) {" im CSS rumgepfuscht: damit werden die Regeln (welche die Inhalte alle untereinander anordnen) erst angewendet wenn das Fenster weniger als 101px breit ist - und das ist in der Praxis nie der Fall. Wobei Pixel hier ohnehin die falsche Einheit ist. Ebenfalls nicht ganz richtig ist die Viewportangabe im head der Seite: setze da mal <meta name="viewport" content="width=device-width, initial-scale=1.0"> hin (1.0 ist eigentlich der Standardwert, scheint zumindest in Vivaldi aber einen Unterschied zu machen ob der da steht oder nicht).

    Ich fürchte aber mit irgendwelchen kleinen Änderungen ist es nicht getan, damit die Seite wirklich benutzbar ist braucht die eine komplette Überholung …

    Der Softwareanbieter hhg-multistore ist leider mittlerweile nicht mehr erreichbar.

    Da wird es auch andere Anbieter geben …

    ich habe mich an ein neues Thema begeben, und zwar wie Erläuterungen zuerst versteckt sind und nur bei Klick auf die Überschrift erscheinen oder auch wieder versteckt werden. Folgenden Code habe ich bereits erfasst, aber es funktioniert nicht.

    Funktioniert nicht ist ein gutes Stichwort: Überschriften sind keine interaktiven Elemente und damit nicht per Tastatur erreichbar. Solche Elemente dürfen deswegen nicht klickbar gemacht werden da der Inhalt der damit gezeigt werden soll bei Tastaturbedienung nicht erreichbar ist. Was du evtl. suchst ist das details-Element.

    Auch dafür brauchst du kein jQuery,

    Nicht nur *dafür* nicht: jQuery ist überhaupt nicht mehr nötig.

    als Neuling versuche ich gerne nicht stumpf einen neuen Threat zu erstellen, also hoffe ich ich darf mich an diesen alten hier mal anhängen.

    Falls das ungern gesehen wird, bitte eine kurze Info geben :)

    Info. Mach bitte einen neuen Thread auf, sich an über 10(!) Jahre alte Threads zu hängen ist nicht sinnvoll. Wobei mir ohnehin nicht so ganz klar ist wo dein Problem liegt (aber nicht hier im Thread schreiben, mach einen neuen auf!) …

    Ausgehend von meinem Posting in #8 hier mal wie ich mir das vorstelle.

    Ich hatte die gewünschte Darstellung nicht genau gelesen bzw. falsch verstanden. Ich war davon ausgegangen dass es quasi drei Spalten geben soll, links Block 1, rechts Block 2 (jeweils auf die ganze Höhe) und in der Mitte Bild, Überschrift und Block 3 - und das hätte sich mit grid-template-areas gut lösen lassen.

    Warum du jetzt allerdings immer noch flex bevorzugst obwohl das ja ein Element mehr braucht, ist mir nicht so ganz klar.

    Hier wäre eine Begründung wünschenswert, warum Du an dieser Stelle Grid bevorzugst.

    Weil Grid sich für zweidimensionale Layouts (also die hier gefragte Anordnung von Elementen neben- und untereinander) besser eignet als Flex.

    Zitat

    Dadurch wird alles nur unnötig kompliziert und mit jedem Spanning entfernt man sich von der Semantik eines Grid.

    Wieso komplizierter? Das gewünschte Layout lässt sich ohne die in #8 genannten zusätzlichen Elemente umsetzen - es reicht ein Element außenrum (section oder article evtl.) und die gewünschten Elemente (Bild, Überschrift, 3 Textblöcke) darin.