Sponsored Links |
|
|||
Dafür gibt es radiobuttons. Und wenn danach noch zusätzlich etwas ausgefüllt werden muss dann muss dafür Javascript verwendet werden.
Im Backend (also PHP) prüfst du dann, welche Werte ausgefüllt sind und welchen Wert die Felder haben. |
Sponsored Links |
|
||||
@cloned
Radiobuttons sind nicht dafür gedacht die Aufgabe „mindestens eines der felder abzubilden“. Kern meiner Frage war ja die Bitte nach Beidpielcode. Kennst Du ein solches Beispiel?
__________________
|
|
|||
Radiobuttons sind dafür da, um aus einer Anzahl an Möglichkeiten genau eine auszuwählen. Du könntest ja auf "telefon", "Mail", oder "Mail und Telefon" abfragen.
Ansonsten nimm checkboxes. Hier habe ich sogar dein Problem mit einer Lösung gefunden. Sogar mit Beispielcode. |
|
||||
@cloned
Danke für das Heraussuchen des Stackoverflow-Links. Du missverstehst die Aufgabe noch. Es geht um 2 Inputfelder, eines mit type="email" und ein weiteres mit type="tel". Es geht nicht um type="checkbox".
__________________
|
|
|||
Dann erweitere das Beispiel. Bei check von checkbox "email" wird das email feld angezeigt, bei "tel" wird das tel-Feld angezeigt.
Bzw. du wirst bei deiner Lösung um Javascript nicht herumkommen, du kannst bei beiden Feldern das "required" attribut ausspielen und dann mittels Javascript entfernen, wenn etwas in ein Feld eingegeben wurde. Und bevor wieder "Bitte schreibt den Code für mich, äh Codebeispiel bitte" kommt: Code:
$("input[data-required='true'").on("change", function() { $("input[data-required='true'").removeAttr("required"); }); //muss natürlich angepasst werden, damit das attribut wieder dazukommt wenn es gelöscht wird. Aber es ist ein Codebeispiel. |
|
||||
@cloned
Danke für Dein Beispiel. (Die kleine Spitze zu meinen Wunsch nach Beispielcode wäre nicht nötig gewesen. Nicht umsonst ist z.B. auf anderen Plattformen wie stackoverflow Beispielcode ausdrücklich erwünscht und nicht verpönt.) Heute morgen dachte ich daran, dass ein ideales universelles Skript (JS und PHP) erlauben würde, die Logik für notwendige Felder direkt einzugeben. HTML-Code:
<label for="tel">E-Mail</label> <input name="email" id="email" type="email" /> <label for="tel">Telefon</label> <input name="tel" id="tel" type="tel" /> <label for="text">Text</label> <textarea name="text" id="text"></textarea> Inhalt von Textarea nicht leer sein. Also: (A OR B) AND C Im Skript könnten die eindeutigen IDs der Felder verwendet werden. Also: (email OR tel) AND text Vielleicht wird in zukünftigen Versionen von HTML so etwas mal direkt im Markup möglich sein. Gruppierung ist ja schon via fieldset möglich. Ist ja unschön, wenn Programmierer für Formulare für Standardsituationen jedesmal das Rad neu erfinden müssen. Auch im Sinne der guten Zugänglichkeit wäre eine Standardisierung der Abbildung der Logik gut.
__________________
Geändert von AndreasB (20.03.2018 um 07:51 Uhr) |
|
|||
Zitat:
Zitat:
Zitat:
|
|
||||
@cloned
Wir beiden ticken sehr verschieden und werden vermutlich auch in Zukunft zu allen möglichen grundlegenden Themen verschiedener Ansicht sein. Es überrascht mich in keiner Weise, dass Du das Anliegen "universales Skript" für die Aufgabe "Logik abbilden" langweilig und falsch findest. Du liebst Lösungen für Einzelfälle. Bei mir ist es genau umgekehrt. Zu Deinen Aussagen "HTML wird sowas nie können": Schau Dir einfach an, was HTML5-Formulare heute schon können. Zum Beispiel die Attribute required oder pattern (habe ich eben zur Validierung eines Formularinhaltes mit einem RegEx mal getestet, super Sache). Wir beiden kommen also auch bei Spekulationen/Extrapolationen zu völlig verschiedenen Schlussfolgerungen. Ein gutes serverseitiges Skript würde sich natürlich auf eine bereits erfolgte clientseitige (hier durch HTML5-Funktionen) Prüfung verlassen und nicht redundant zusätzlich was eigenes verwenden. Unvollständige Angaben können übrigens bei dem, worüber wir hier gerade sprechen gar nicht abgesendet werden. HTML5 verhindert dies.
__________________
Geändert von AndreasB (20.03.2018 um 09:31 Uhr) |
Sponsored Links |
|
|||
Klar, aber wenn alle die Selbe Meinung hätten wäre es doch sehr langweillig
Auch habe ich nie gesagt, dass ich es "langweilig" und "falsch" finde. Lege mir bitte hier keine Worte in den Mund, die ich nie gesagt habe. Oder möchtest du, dass man deine Aussagen interpretiert wie es einem passt? Falls nicht, dann behandle bitte andere Gesprächspartner ebenso. Lasse es mich anders formulieren: Lösungen sollten so sein, dass sie wiederverwendet und schnell adaptiert werden können. Es soll aber nicht universell sein, da es sonst nicht performant ist. Performant heißt, dass das Skript sonst "zu langsam" ist. Möchtest du ein universelles Skript, so muss das auch alle möglichen Varianten bedenken und berücksichtigen. Das macht das Skript dann unnötig langsam. Ein performantes Skript liefert dem User schnell Ergebnisse. Das ist eine messbare Größe (und auch etwas, was den Benutzer interessiert) Natürlich soll so ein Skript im Idealfall mit minimalem Aufwand auf ein anderes Problem übertragen werden können. Aber universell soll es eben wegen Geschwindigkeit nicht sein. Ich weiß, was HTML5 Formulare heute schon können. Verwende dies auch sehr gerne. Nichtsdestotrotz ist eines der ersten Dinge, die man beim Umgang mit Formularn lernt folgendes: Man darf sich nie (wirklich nie!) auf das verlassen, was abgeschickt wird. Das wird einem nicht nur in der Schule/Studium so beigebracht (sofern man die Fächer hatte), das wird auch im Internet in so ziemlich jedem (halbwegs sinnvollen) Beitrag über Formulare nochmal extra betont. Unvollständige Angaben können nämlich bei den HTML5 Formularen durchaus vorkommen. Was ist, wenn mein Browser diese Attribute nicht unterstützt? Dann kann ich jeden beliebigen Wert eingeben, den ich will. Egal, ob required oder pattern oder was auch immer. Was ist, wenn ich einfach die dev-tools öffne und bei jedem Element die pattern/required Parameter entferne. Dann greift die Validierung auch nicht und das Backend muss diese abfangen. Vielleicht schaue ich auch einfach in den Netzwerktab der devtools und analysiere, was abgeschickt wird und erstelle anhand dessen meinen eigenen Request, unabhängig vom browser. HTML5 validierung ist also schön, sinnvoll und soll auch verwendet werden, aber bitte nur unterstützend. |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
HTML5 Formular mit Att. required | singel | Javascript & Ajax | 3 | 24.02.2014 11:45 |
Formular padding Problem im IE 7 | unic | CSS | 8 | 18.01.2009 14:12 |
Anordnung von Input Feldern im Formular will nicht klappen.. | MaDmAsTeR | CSS | 3 | 16.07.2005 23:04 |