Leeren eines Webformulares

Das leeren eines Webformulars mitsamt einem löschen der Defaultwerte verlangt den Einsatz von Javascript, wie es geht wird in diesem Artikel beschrieben.

Ich denke der Großteil meiner Leser hat bereits das ein oder andere Webformular geschrieben, und wem es ein ebenso großes Mühsal ist wie mir, dem möchte ich hier eine kleine Hilfestellung bieten.

Möchte man dem User die Möglichkeit anbieten alle Daten die er in einem Formular eingegeben hat wieder zu löschen, erreicht man dies über einen zusätzlichen Button (siehe auch http://de.selfhtml.org/html/formulare/formularbuttons.htm):

<input type=”reset” value=”Abbrechen”>

Gleich mal als Beispiel zum selber ausprobieren:

 

Funktioniert auch bestens, solange man dem Besucher der Website nicht noch weiteren Komfort gönnt. Hat man z.B. Pflichtfelder in seinem Formular, und der User hat ein solches nicht ausgefüllt, gehört es eigentlich schon zum guten Ton, dass man dem User das Formular nochmal zum ergänzen anbietet, vorbefüllt mit den vorher von ihm angegebenen Daten. Möchte der User nun all seine Daten aus dem Formular löschen um nochmal von vorne anzufangen funktioniert ein Klick auf den Formular Button nicht mehr. Auch hier ein Beispiel zum gleich testen:

 

Denn der Klick auf den Button leert die Felder nicht, er setzt sie auf den Ursprungszustand zurück, der vom Server geliefert wurde, und damit auf die mitgelieferte Befüllung. Hier muss man sich anderer Wege behelfen, und wie so oft im Web heißt das Zauberwort JavaScript.

Hier eine entsprechende Lösung:

<a onclick="document.forms['default'].elements['nameOfInputField'].value='';” href="#">zurücksetzen</a>

Über einen damit erzeugten Link lässt sich jedes einzelne Feld per JS löschen indem es im Dom-Baum zum Element manövriert und den Value mit nichts ersetzt. Oder im Falle eines DropDowns mit dem 0 Element.

Das ganze funktioniert natürlich auch wunderbar als Button, der ebenfalls per onClick einen JavaScript Aufruf starten kann.

<input type="button" value="zurücksetzen" onClick="document.forms['third'].elements['input'].value='';"/>

Natürlich darf auch hier ein Beispiel zum direkt ausprobieren nicht fehlen:


zurücksetzen

Und schon kann der User alle Daten resetten und mit dem ihm angebotenen Formular von vorne anfangen.
Viel Spaß beim nachprogrammieren ;)

Ähnliche Artikel:

Tages Protection Problem

Problemquelle:Tages Protection unter Windows 7. Woher kommt der Tages Protection Client, wie kann ich ihn aktualisieren und wie werde ich ihn wieder los?

Jeden Start von Windows 7 das selbe, aus dem System Tray leuchtet mir eine schöne Sprechblase entgegen in der steht:

“Dieser Treiber wurde aufgrund von Kompatibilitätsproblemen geblockt”

Tages System Tray

Ein Blick auf die detailliertere Fehlermeldung offenbart den Schurken: Der Treiber zur Tages Protection

Tages Protection Fehlermeldung

Moment, das hab ich doch nie wissentlich installiert?! Doch – hab ich. Denn der Tages Protection Treiber ist ein Kopierschutzmechanismus für verschiedenste Computerspiele. Er hat sich nach C:\Windows\system32\drivers installiert unter dem Dateinamen atksgt.sys

Eingefangen hatte ich mir den Treiber mit dem Spiel X3: Terran Conflict, aber es gibt noch zahlreiche andere Spiele die darauf setzen, hier eine Auswahl an entsprechenden Titeln:

  • Anno 1404 (vor Patch auf Version 1.1. Der Patch entfernt den Tages Protection Kopierschutz)
  • Anno 1701
  • Beyond Good & Evil
  • Caillou – Auf Schatzsuche
  • Caillou – Die lustige Geburtstagsfeier
  • Caillou – Entdeckt die 4 Jahreszeiten
  • Caillou – Kindergarten
  • Caillou – Vorschule
  • City Life Deluxe
  • Fahrenheit
  • Geheimakte Tunguska
  • Gothic 3
  • Jack Keane
  • Legend: Hand of God
  • Moto Racer 3
  • ParaWorld
  • Risen
  • Die Siedler VI – Aufstieg eines Königreichs
  • Ski Racing 2006
  • Sherlock Holmes jagt Arsène Lupin
  • Simon the Sorcerer 4 – Chaos ist das halbe Leben
  • Spellforce 2 Dragon Storm
  • S.T.A.L.K.E.R. – Clear Sky
  • The Whispered World
  • The Witcher
  • X³: Terran Conflict
  • XIII

Warum jedoch führt der Treiber zu entsprechender Fehlermeldung? Es scheint bei den Spielen eine veraltete Version ausgeliefert zu sein, die unter Windows 7 noch nicht unterstützt wird. Bei Systemstart wird man ja direkt drauf hingewiesen. Deinstallieren lässt sich das Teil nun wie folgt:

Man installiert die neueste Version (die mittlerweile mit Windows 7 umgehen kann) damit wird der Treiber aktualisiert und schon jetzt sollten die Probleme nicht mehr auftreten.

Führt man dannach die Installationsroutine nochmals aus, kann man den Treiber deinstallieren und hat sich von ihm befreit.

Die entsprechende Software bekommt man in einer 32 Bit oder 64 Bit Version von der Homepage der Erfinder http://www.tagesprotection.com

Aber nicht vergessen, die Spiele die auf diesem Treiber bauen funktionieren dannach nicht mehr!

Ähnliche Artikel:

Canon EOS 350D unter Windows 7

Unter Windows 7 wird die Canon EOS 350D nicht erkannt? Auf nullpointer.at wird einem erklärt wie man dieses kleine Problem lösen kann.

Meine neueste Errungenschaft ist eine Digitale Spiegelreflex Kamera. Übertragen konnte ich eine Canon EOS 350D in sehr gutem Zustand ergattern. Da diese Kamera und ähnliche Kameras durchaus noch gebraucht neue Besitzer finden, wird vielleicht der ein oder andere auf das gleiche Problem stoßen wie ich:

Schließt man die Kamera per USB Kabel an einen PC an auf dem 64 Bit Windows 7 installiert ist, wird die Kamera nicht richtig erkannt und der Treiber für die Kamera nicht installiert.

Abhilfe schafft hierbei weder die beigelegten Softwarepakete (sind schon viel zu alt) noch die Support Seite von Canon, die nur noch Updates für die Zusatzsoftware wie den ZoomBrowser bereitstellt.

Lösung ist jedoch eine viel einfachere! Im Menü der Camera kann man den Typ der Verbindung den sie aufbaut entweder auf “Drucker/PTP Verbindung” oder “PC Verbindung” einstellen. Wider erwarten tritt der oben beschriebene Fehler nur auf wenn dies auf “PC Verbindung” gestellt ist. Belässt man den Verbindungstyp auf “Drucker/PTP Verbindung” wird die Kamera erfolgreich erkannt und man kann entweder mit dem Assistenten oder direkt über das Filesystem auf seine Bilder auf der Kamera zugreifen.

Damit steht dem Fotovergnügen nichts mehr im Wege! Selbiges Problem ergibt sich auch unter dem Vorgänger von Windows 7 – nämlich Windows Vista. Es lässt sich aber genauso umgehen.

Viel Spaß beim Fotographieren!

Ähnliche Artikel:

Java 6 SplashScreen in maven

Was es mit einem SplashScreen in Java 6 auf sich hat und wie man ihn über die Manifest Datei eines Jars mit Maven definiert wird in diesem Artikel erklärt.

Ein gut gemachter Splash Screen ist schon lange in diversen Anwendungen das Mittel zum Zweck gewesen um den Anwender zu zeigen, dass das Programm das er eben gestartet hat lädt und bald zum Einsatz bereit steht. Neu in Java 6 wurde die Möglichkeit einen Splash Screen bei Programmaufruf bereits mitzugeben. Früher musste man dazu ein JFrame oder ein JWindow in Java Swing erzeugen, welches jedoch erst nach Start der VM und dem laden der dafür erforderlichen Klassen erfolgte. Schneller geht das nun mittels der von Java 6 bereitgestellten Möglichkeiten, entweder in der Command Line

java –splash:images/splash.jpg MyMainClass

oder in der Manifest Datei einer Jar

Manifest-Version: 1.0Main-Class: MyMainClassSplashScreen-Image: images/splash.jpg

Dabei wird das Bild von Java in einem einfachen nicht dekorierten Fenster dargestellt, d.h. z.B. ohne X zum schließen. Folgendes Beispiel soll nun zeigen wie selbiges über Maven erreicht wird, wenn man eine Jar erzeugen lässt.

Zuerst legt man eine Grafikdatei die als SplashScreen dienen soll unter den Ressourcen des Programms ab. Als Beispiel könnte folgender Pfad dienen:

ProjektName/src/main/resources/images/splash.jpg

Dann fügt man das maven-jar-plugin in sein POM File ein und konfiguriert dieses so, dass es den SplashScreen anzeigt.

            <plugin>
                <artifactid>maven-jar-plugin</artifactid>
                <version>2.3.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <mainclass>my.packages.MyMainClass</mainclass>
                            <adddefaultimplementationentries>
                                true
                            </adddefaultimplementationentries>
                            <addclasspath>true</addclasspath>
                            <classpathprefix>lib/</classpathprefix>
                        </manifest>
                        <manifestentries>
                            <version>
                                ${project.version}
                            </version>
                            <implementation-version>
                                ${project.version}-${buildNumber}
                            </implementation-version>
                            <splashscreen-image>imgages/splash.jpg</splashscreen-image>
                        </manifestentries>
                    </archive>
                </configuration>
            </plugin>

In die <manifestentries> kann man den Eintrag <splashscreen-image> schreiben, der den selben Inhalt hat wie man es in der Manifest Datei der Jar Datei schreiben würde. Der gesamte Pfad wo wir die Datei abgelegt haben (also das ProjektName/src/main/ressources/… ) ist dabei nicht erforderlich da sich hierbei auf den Inhalt der zukünftig generierten Jar Datei bezogen wird.

Bis zum nächsten mal, mit mehr zum Thema SplashScreen.

Ähnliche Artikel:

TrayRSS 1.0.1 is here!

TrayRSS 1.0.1 is here, with some bugfixes and improvements in performance. Track your RSS feeds in the systemtray and get noticed on changes.

Hi there,

i’d like to announce the new Bugfixrelease of Trayrss! Besides bugfixing, I made some pretty interesting changes

Changes in 1.0.1
* performance refactoring
* event-dispatcher threads for gui
* log4j updated
* refactored the useage of log4j
+ task 00035: implementing maven
* fix 00033: timesets starttimes where set as endtime
+ task 00035: packaging by maven
+ task 00035: buildnumber
– task 00044: SWIXML menu removed

You can download the new relesase here.

Changes

I’ve fixed some bugs in the event-dispatcher thread of the gui, so trayrss is now more stable. Also there was an error when monitoring feeds with an invalid timeframe. TrayRSS stopped monitoring without telling the user if the format of the timeframe could not be parsed correctly.

Besides the logging feature was updated too. This and some additional changes within the source should lead to a little performance increase.

Bugtracker

TrayRSS relied on Trac for about two years. But Trac has its limitations. Now MantisBT is used to track all the tasks that are required to improve the application. The relation between a sourcecode change and a task will be noticed in the changelog in future by adding the tasknumber. Also Trac was binded to sourceforge. Now it isn’t necessary to have a sourceforge-account anymore to report an bug or request.

In MantisBT there are some additional possibilites to create reports. Also better notifications and a easier way to manage milestones are provided by the new bugtracker.

Maven

Additionally TrayRSS developement steps ahead to the next major release 1.1 Some major changes will be part of this release and the first step was also shipped with this Bugfixrelease: TrayRSS moved from ant to maven to manage the build process and to collect all the dependencies. That offers TrayRSS some important possibilities for the future such as managing multimodule projects, improves reusability, convention over configuration and so on. Some details about the migration will be described in future on nullpointer.at.

Hope you enjoy the new release

Kind regards!

Ähnliche Artikel: