WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 04.08.2020 13:30:51

dabiener
Mitglied

Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

Hallo,

ich komme da bei einer ganz banalen Sache nicht weiter.
Habe erstmals ein Formular erstellt, dazu mpForm 1.3.23 verwendet, das auch wie gewünscht funktioniert, aber sich beim besten Willen bei folgendem Punkt nicht ansehnlich formatieren lässt:

Wenn ich ein neues Feld vom Typ "Ganze Zahl" anlege, kann ich zwar die Länge angeben, das wirkt sich aber nur auf die maximal mögliche Zahl von Ziffern aus, die in das Eingabefeld eingegeben werden können.
Ich würde aber viel lieber die Breite des Eingabefeldes deutlich beschränken, es ist über 400 Pixel breit - wo doch nur ein bis höchstens dreistellige Zahlen eingegeben wertden sollen.

Natürlich habe ich schon unter CSS-Einstellungen in der frontent.css jede Menge vermeintlich passende Zahlen und Pixelwerte verändert, auch Pixelwerte durch Prozentangaben ersetzt. Da tut sich dann auch einiges wie erwartet, nur eben genau diese Eingabefelder werden nicht kleiner.

Kann mir bitte jemand sagen, mit welchem Wert in welcher Zeile denn die Größe dieser Eingabefelder gesteuert wird?

Danke,
dabiener

Offline

#2 04.08.2020 13:52:08

florian
Administrator

Re: Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

Jedes Feld erhält automatisch eine ID (z.B. #field2) und eine Klasse (.mpform_field_integer_number). Darüber sollte sich die Breite via CSS eigentlich justieren lassen.
Je nach verwendetem Template kann es sein, dass in diesem aber Formatanweisungen sind, die die individuell angegbene Feldbreite überschreiben. Bootstrap erzwingt z.B. grundsätzlich width=100%. Du müsstest entweder versuchen, mit !important; in der CSS-Datei die gewünschte Breite durchzusetzen oder versuchen, mittels der Browserkonsole herauszufinden, wo die unerwünschte Formatierung herkommt.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 04.08.2020 14:35:23

dabiener
Mitglied

Re: Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

florian schrieb:

mittels der Browserkonsole herauszufinden, wo die unerwünschte Formatierung herkommt.

Bombig! Vielen Dank für die wieder mal unglaublich schnelle Hilfe! Denn DAS war der entscheidende Hinweis, mit dem ich quasi fast sofort die Lösung da gefunden habe, wo ich sie selber mangels CSS-Kenntnis eben nicht vermutet hätte. Habe bei der Gelegenheit gleich erstmals diese Browserconsole näher untersucht, bisher konnte ich damit nie was anfangen, das hat sich jetzt nebenbei auch gleich geändert.

Gruß
dabiener

Offline

Liked by:

florian

#4 15.10.2020 14:34:12

tomno399
Gast

Re: Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

In dem Zusammenhang möchte ich einen Wunsch äußern (eigentlich für alle Formmodule): Es wäre schön, wenn man den Feldern im BE eine Zeichengrenze mitgeben könnte. So zum Beispield dem Feld "Postleitzahl" Typ Ganze Zahl, 5-stellig für Deitschland oder 11-stellig (mit Bindestrich) für USA.

Die Begrenzungsmöglichkeit aller Feldtypen wäre auch ein Mittel gegen Fehlgebrauch. Nur weiß ich nicht, wie hoch der Programmierungsaufwand wäre.

Beitrag geändert von tomno399 (15.10.2020 14:35:00)

#5 15.10.2020 23:15:00

mrbaseman
Developer

Re: Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

Bei mpform kannst du die eingegebenen Werte in der private.php in der Funktion private_function_for_field() prüfen. Für jede Field-ID kannst du die Eingabe gegen irgendwelche Grenzen prüfen und wenn diese für das jeweilige Feld nicht eingehalten sind, gibst du eine Fehlermeldung zurück. Wenn der Leerstring zurückgeliefert wird, war die Eingabe Ok. Das verhindert zwar nicht die Eingabe von unzulässigen Werten schon im Browser, aber es verhindert immerhin, dass das Formular mit falschen Werten erfolgreich abgeschickt wird.

Wenn du schon die Eingabe falscher Werte verhindern möchtest, müsstest du das selbst mit Javascript erledigen, den du über ein Pseudo-Feld vom Typ "html Code" einfügst, aber da gibt es nichts Vorgefertigtes. - und es tut nur, wenn der Besucher Javascript im Browser auch aktiviert hat, während die Prüfung der submittierten Werte in der private.php  unabhängig vom Browser ist.

Offline

#6 16.10.2020 06:54:03

florian
Administrator

Re: Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

Hm, naja, HTML5 bietet schon einige Möglichkeiten, die Eingaben browserseitig zu prüfen.
Bei mpform ist es ja bereits möglich, die maximale Zeichenanzahl bei Texteingabefeldern zu bestimmen (Feld "Länge")  und/oder den Feldtyp "Ganze Zahl" oder "Dezimalzahl" zu wählen.
Zu überlegen wäre, noch die HTML5-Input-Typen color, date / datetime-local, tel, number, range  zu ergänzen (bzw. diese statt der derzeitigen javascript-basierten Eingabeüberprüfungen zu verwenden) und vielleicht im Backend noch außer den Radiobuttons für den Eingabetyp noch die Möglichkeit anzubieten, Minimum-/Maximal-Werte zu definieren, vgl. https://www.w3schools.com/html/html_for … _types.asp.

(Bei miniform könnte man das von Hand im generierten Formular-HTML-Template anpassen, also bei einem PLZ-Feld dann noch maxlength="5" usw. eintragen)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#7 16.10.2020 08:42:13

mrbaseman
Developer

Re: Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

florian schrieb:

Hm, naja, HTML5 bietet schon einige Möglichkeiten, die Eingaben browserseitig zu prüfen.
Bei mpform ist es ja bereits möglich, die maximale Zeichenanzahl bei Texteingabefeldern zu bestimmen (Feld "Länge")  und/oder den Feldtyp "Ganze Zahl" oder "Dezimalzahl" zu wählen.

Danke dass du das erwähnst.
Ich war gedanklich schon bei Prüfungen wie Eingsbewert < 400 oder so. Typ und Feldlänge geht wie du sagst direkt und ganz bequem smile

Zu überlegen wäre, noch die HTML5-Input-Typen color, date / datetime-local, tel, number, range  zu ergänzen (bzw. diese statt der derzeitigen javascript-basierten Eingabeüberprüfungen zu verwenden) und vielleicht im Backend noch außer den Radiobuttons für den Eingabetyp noch die Möglichkeit anzubieten, Minimum-/Maximal-Werte zu definieren, vgl. https://www.w3schools.com/html/html_for … _types.asp

Ok. Muss ich mir mal anschauen was das an Umbauten mit sich bringt. Html5 ist ja mittlerweile auch schon ganz gut unterstützt. Ich hoffe nicht dass noch allzuviele Nutzer mit dem "guten alten" IE unterwegs sind big_smile

Offline

#8 16.10.2020 09:32:36

tomno399
Gast

Re: Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

Hm, ich sehe schon: kleine Frage, große Wirkung. Ich danke euch beiden für eure Gedanken. Florians Hinweis scheint sogar für mich Laien umsetzbar und wenn mrbaseman das im Modul fest einbauen könnte, wäre es für alle User nutzbringend.

#9 16.10.2020 13:39:14

bernd
Developer

Re: Eingabefeldgröße bei Ganze Zahl nicht steuerbar?

Und nicht zu vergessen, gibt es in HTML5 ja auch das (häufig übersehene) "pattern" Attribut für Input-Felder
https://wiki.selfhtml.org/wiki/HTML/For … it_pattern
da ergeben sich ganz mächtige Möglichkeiten ...


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Fußzeile des Forums

up