Facebook Button Twitter Button YouTube Button RSS Button

IT-Runde

Javascript alert-Box selbst gestalten

  • Javascript alert-Box selbst gestalten

    Als Programmierer muss man ständig mitdenken, was die späteren Nutzer eines Scriptes denn alles so eingeben werden und wie man Fehlern vorbeugen kann. Ein gutes Beispiel hierfür sind Formulare. Ob Pflichfelder übersehen, ins E-Mail Feld nur Text rein schreiben, zu langen Inhalt oder ähnliche Probleme: Alles muss vom Programmierer schon im vorhinein abgefangen werden. Hierbei sollte man entweder sofort nach der Eingabe im input-Feld oder spätestens beim Senden des Formulares eine Meldung geben, dass bestimmte Fehler aufgetreten sind und das Formular so noch nicht gesendet werden kann. Will man nun nach dem Senden per PHP eine Meldung ausgeben, sind meist alle Felder wieder leer, wenn man nicht im vorhinein die Value-Attribute wieder mit dem passenden per GET- oder POST- übergebenen Inhalten gefüllt hat (Wobei es bei Input-Feldern noch weitaus einfacher geht als bei Select-Auswahlboxen :D).

    Eine sehr schöne Alternative bietet ja Java Script mit den bekannten alert-Meldungen. Man fragt schnell per Java Script ab, ob die Felder passend ausgefüllt wurden und wenn der Nutzer des Scriptes dann noch Fehler in den Eingaben hat und versucht den Submit-Button zu klicken, wird einfach die alert-Box geöffnet. Ein großer Vorteil ist hierbei, dass die Felderinhalte bleiben wie sie sind, und nicht erst die Fehlermeldungen durch neuladen zu sehen sind (Wenn Ajax nicht gerade genutzt wird). Nachteile sind auf jeden Fall das hässliche Aussehen der Meldung und die eingeschränkten Einstellungsmöglichkeiten. Zum Beispiel kann man den Titel der Meldung nicht anpassen und auch HTML Code wird in der Box nicht umgesetzt – Schade eigentlich!

    Aber ich habe etwas passendes dazu beim Naden gesehen :). Er hat ein kleines Script geschrieben, was es erlaubt den Style der Alert-Box nach dem eigenen Belieben mit CSS anzupassen. Somit ist es ganz einfach HTML zu benutzen um z.B. den Text zu zentrieren oder der Box einen eigenen Titel zu geben – Der Effekt der bleibenden Formdaten wird dadurch nicht gestört. Als kleines Beispiel habe ich euch mal die Meldung von oben umgestylt:

    Je nachdem wie kreativ man ist, kann man die Ecken abrunden, mit den Farben rumspielen und einiges mehr. Auch der Button “Akzeptieren” kann in “OK”, “Verstanden” oder andere Namen umbenannt werden – Cool! ;). Wer jetzt Lust bekommen hat bei den eigenen Formularen auch die selbst angepasste alert-Box zu benutzen und gerade ehe auf den Pizzaservice wartet, kann sich bei der Demo die verschiedenen Einsatzparameter ansehen oder sich das kleine Script sofort mal downloaden.

    Was nutzt ihr zum Überprüfen von eure Formularen, die normale PHP-Abfrage, Ajax, eine alert-Box oder eine ganz andere Methode?



  1. #1 Nico
    06.01.2011 um 20:20 Uhr

    Guter Artikel, ich habe immer gedacht das man die Alter-Box nicht Stylen kann. Danke

    Gruß Nico

    Post ReplyPost Reply
  2. #2 jletellier
    07.01.2011 um 12:52 Uhr

    Danke für den Artikel! Als ich die Überschrift las, habe ich mich direkt gefragt wie das möglich sein soll.
    In dem Script wird leider lediglich die alert-Funktion durch eine eigene ersetzt. Wie in den Kommentaren auf naden.de schon angemerkt, werden dadurch leider auch die gewohnten Effekte überschrieben. So ist das Pop-Up nicht modal und das Script wird nicht pausiert. Daher muss ich dir bei deinem folgendem Satz widersprechen:
    “Der Java Script Effekt wird dabei nicht gestört…”

    Trotzdem ein durchaus nützliches Script, auf das ich mit Sicherheit irgendwann einmal zurückgreifen werde.

    Post ReplyPost Reply
  3. #3 Christian
    07.01.2011 um 14:55 Uhr

    @jletellier: Bezogen hat sich “Der Java Script Effekt” eher auf den vorher und auch nachher genannten Effekt, dass die Seite nicht erst neu geladen werden muss und die Formdaten stehen bleiben. Also nicht auf alle Java Script Funktionen ;). Aber stimmt, da hast du schon Recht, alle Java Script Funktionen sind nach der selbst Gestaltung nicht mehr möglich. Ob das überhaupt möglich ist eine 1:1 Kopie der Funktionen mit eigenem Style hinzubekommen, bezweifele ich leider auch.

    Habe den Satz mal aus Verständnisgründen angepasst, danke ;).

    Post ReplyPost Reply
  4. #4 Francesco
    08.01.2011 um 15:21 Uhr

    Ich nutze, wenn ich Abfragen benutze, immer die normale Übergabe per POST, wo ich dann (fall es Fehler gibt) die übergebenen Inhalte für die Benutzer wieder ausgebe. Schwierig ist es wirklich immer bei den Auswahlboxen, wenn dort wieder der ausgewählte Datensatz angezeigt werden soll 🙂

    Deswegen vielen Dank für den super Tipp, kann ich schön an mein Design anpassen 🙂

    Post ReplyPost Reply
  5. #5 Clara
    05.02.2011 um 11:44 Uhr

    Es kommt doch immer darauf an, wie man die Box verwenden möchte. Mir gefällt das Script sehr gut. Mir kommt es nicht darauf an, nervige Pop-up Fenster darzutun, sondern meine Seite um Text zu erweitern, so wie ich ihn brauche. Der User klickt drauf, weil er das wissen möchte. Ist es ihm nicht weiter wichtig, macht er das Fenster wieder zu. Weitaus weniger nervig als die elenden Pop up Fenster, die den User beim Lesen stören, bei jedem Neuaufruf einer Seite wieder ertragen werden müssen. Was mich stört, mute ich auch anderen nicht zu.

    Post ReplyPost Reply
Kommentar schreiben

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich stimme zu.