Ich versuche, ein Formular durch Drücken der Eingabetaste abzuschicken, aber es wird keine Schaltfläche zum Abschicken angezeigt. Ich möchte nicht in JavaScript zu erhalten, wenn möglich, da ich alles auf allen Browsern (die einzige JS Weg, den ich kenne, ist mit Ereignissen) arbeiten möchten.
Im Moment sieht das Formular wie folgt aus:
<form name="loginBox" target="#here" method="post">
<input name="username" type="text" /><br />
<input name="password" type="password" />
<input type="submit" style="height: 0px; width: 0px; border: none; padding: 0px;" hidefocus="true" />
</form>
Das funktioniert ziemlich gut. Die Schaltfläche "Submit" funktioniert, wenn der Benutzer die Eingabetaste drückt, und die Schaltfläche wird in Firefox, IE, Safari, Opera und Chrome nicht angezeigt. Dennoch gefällt mir die Lösung nicht, da es schwer zu sagen ist, ob sie auf allen Plattformen mit allen Browsern funktionieren wird.
Kann jemand eine bessere Methode vorschlagen? Oder ist dies die beste Methode, die es gibt?
9 Stimmen
Ein kleiner Punkt, der einige Zeichen in Ihrem CSS einsparen könnte und in der Regel automatisch von Minifiern erledigt wird: Sie benötigen keine Einheiten für Null-Längenmessungen. 0px = 0pt = 0em = 0em usw.
1 Stimmen
@pwdst danke für den Hinweis auf diese - ich bin von der Python-Welt, so "explizit ist besser als implizit", und wirklich fragen, ob dies der Fall in CSS ist, oder haben CSS Schöpfer ein anderes Idiom?
3 Stimmen
Null ist hier die Ausnahme von der Regel @ericmjl - 0px == 0em == 0% == 0vh == 0vh usw. Bei anderen Längenmaßen (die nicht Null sind) ist es nicht nur schlechte Praxis, sondern verstößt auch gegen die Normen, keine Einheiten anzugeben, und Sie werden ein unterschiedliches Verhalten in den User Agents (Browsern) feststellen. Siehe developer.mozilla.org/de-US/docs/Web/CSS/length y drafts.csswg.org/css-values-3/#lengths
3 Stimmen
Im Zweifelsfall sollten Sie die Längeneinheit in anderen Worten ausdrücken.
4 Stimmen
Es schadet zwar nicht, die Einheit mit 0 hinzuzufügen, aber keine Einheit zu haben, sollte unabhängig von der Sprache zu 100 % gültig sein, und zwar bis hin zu mathematischen Abstraktionen. OTOH, ein praktischer Nutzen des Vorhandenseins bzw. Nichtvorhandenseins von Einheiten besteht darin, die Botschaft zu übermitteln, ob die gegebene Eigenschaft "wirklich dazu bestimmt ist, 0 zu sein und so zu bleiben" (ohne Einheit), bzw. "diese Sache ist jetzt zufällig Null, kann aber nach Geschmack angepasst werden; oder was auch immer..." (mit Einheit).
1 Stimmen
Hinzufügen als Kommentar, wie es nicht wirklich die Frage zu beantworten, aber für alle, die suchen; das Standardverhalten ist für das Formular auf Enter NUR senden, wenn es eine Eingabe ist. Mehr als eine, und Sie benötigen eine Schaltfläche "Senden".