Formular und ENTER/RETURN

Hallo,

ich habe ein Formular mit mehreren Elementen, u.a. eine textarea.
Das Formular soll man mit ENTER abschicken können. Funktioniert auch (mit javascript), allerdings kann man dann natürlich in die textarea keinen Zeilenumbruch einfügen.

Wie kann ich das realisieren? Ideen hab ich schonmal - aber wie setzt man das um?

Vorschlag 1)
ENTER = Umruch, wenn focus in textarea,
ENTER = speichern, wenn focus in einem anderen Control.

Vorschlag 2)
SHIFT + ENTER = Umbruch,
ENTER = Speichern

Danke!
piranja

Vorschlag 1)
ENTER = Umruch, wenn focus in textarea,
ENTER = speichern, wenn focus in einem anderen Control.

Danke für den Tipp. Aber mit „OnBlur“ funktioniert’s leider nicht. Dieses Event wird wahrscheinlich auch bei Drücken der ENTER-Taste ausgelöst, so dass „loeschemerkernosubmitonenter“ dann IMMER bei ENTER ausgeführt wird, egal, ob ich gerade in der textarea bin oder nicht.
Es funktioniert, wenn ich bei der textarea „onfocus=„setzemerkernosubmitonenter()““ und bei allen anderen Formularelementen „onfocus=„loeschemerkernosubmitonenter()““ setze.
Aber diese Lösung gefällt mir nicht. Zu viele Stellen zu ändern, und damit zu fehleranfällig.

Vielleicht hat jemand einen Vorschlag für die andere Variante:
SHIFT + ENTER = Umbruch,
nur ENTER = Speichern des Formulars

Vielen Dank!
piranja

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hey, ich hab’s:

<!–
function my_submit(e) {
var keycode = document.all ? event.keyCode : e.which;
if ((""+keycode)==„13“) {
if (document.styleSheets && document.all) //ie
shiftPressed = window.event.shiftKey;
if (document.layers) //ns4
shiftPressed = e.modifiers & Event.SHIFT_MASK;
if (document.getElementById && !document.all) //ns6
shiftPressed = e[‚shiftKey‘];

if (!(shiftPressed))
mach_was(…);
}
}

window.onload = function () {
document.onkeydown = my_submit;
if (document.layers) {
document.captureEvents(Event.KEYDOWN);
}
}
// -->