Hallo Kai,
komischerweise funktioniert mein Formular genauso wie es sollte!
ja - mit *deinen* Systemeinstellungen und mit *deinen* Gewohnheiten.
Beispielsweise setzt du voraus, dass Javascript aktiviert ist, was ja nicht selbstverständlich ist. Und du setzt User voraus, die gern und viel mit der Maus hantieren.
Bei User2 ist es folgendermaßen: klickt der User in das Eingabefeld, wird automatisch die Checkbox User2 angeklickt (deswegen onClick).
Aber welcher Anwender *klickt* schon in ein Textfeld? Ja, sicher, manche tun das. Aber das ist nicht zwangsweise so. Ich bin es z.B. gewöhnt, in Formularen mit der Tab-Taste zu navigieren, die Maus kommt dabei wenig bis gar nicht zum Einsatz. Deswegen habe ich dir empfohlen, den onchange-Handler anstatt onclick zu nehmen. Der würde nämlich in beiden Fällen zum Zuge kommen.
Auch hier: Was soll der onclick-Handler? Du möchtest hier sicher einen richtigen Submit-Button, und dann bitte auch das onsubmit-Event nutzen, nicht das onclick. Dass diese clientseitigen Überprüfungen nur zusätzlicher Komfort sein können und eine serverseitige Plausibilitätskontrolle nicht ersetzen, sollte klar sein.
Bei klicken auf den Button "Absenden" wird eine Funktion aufgerufen, die allerdings in einem externen Javascript steht.
Ja, und bei deaktiviertem JS passiert *gar nichts*.
ja genau ich meinte die Return-taste. Achja hatte es mit einem richtigen Submit-Button versucht, aber da hat es genauso nicht funktioniert. DIe Verarbeitung der Formulardaten ist eben in der FUnktion check(..) in einem externen Javascript.
Da liegt das Problem. Die Verarbeitung von Formularen mit Javascript ist höchst unzuverlässig und funktioniert nur in bestimmten Sonderfällen.
Bei deinem Bedienkonzept bräuchtest du nicht einmal ein Formular, das bei dir eigentlich keinen Zweck erfüllt. Ein Absenden der Formularinhalte im Sinne des form-Elements findet ja ohnehin nicht statt. Wenn du es weglässt, würde auch beim Drücken der Return-Taste nichts mehr passieren.
Schönes Wochenende,
Martin
Du kannst dem Leben nicht mehr Tage geben.
Aber dem Tag mehr Leben.