Axel Richter: Zwei alert-Fenster geöffnet

Beitrag lesen

Hallo,

Im Microsoft IE und im Opera-Browser verhält es sich so wie ich es (fast) erwartet hätte:
Es wird die Feldprüfung ausgeführt, die Betätigung des Sende-Buttons wird ignoriert. Noch schöner wäre es, wenn die Sendefunktion danach ausgeführt würde.

Ja, weil in diesen Browsern die AlertBox den Programmablauf unterbricht und dann das Klick-Ereignis konsumiert.

In Netscape und Mozilla Firefox ist es wie ursprünglich beschrieben,

Ja, weil in diesen Browsern das Programm trotz AlertBox weiterläuft.

d. h. dort ist es dadurch möglich, fehlerhafte Felder abzusenden siehe nachfolgendes Beispiel:

Warum prüfst Du überhaupt jedes Feld einzeln onchange? Führe doch _eine_ Prüfroutine FORM.obsubmit aus, wie z.B. in http://de.selfhtml.org/javascript/beispiele/formulareingaben.htm beschrieben.

Wenn Du irgendetwas INPUT.onchange prüfen und dem Nutzer anzeigen willst, dann darfst Du halt maximal z.B. den Feldhintergrund rot einfärben, wenn ein falscher Wert eingegeben wurde.

btw.: Deine Rückgabewerte in den Funktionen sind unwirksam, so wie Du die Funktionen aufrufst. Damit sie in onchange und onsubmit wirksam werden, müsstest Du die Funktionen so:

onchange="return meineFunktion();"
onsubmit="return meineFunktion();"

aufrufen. Allerdings würde dann ein onchange="return false;" sicher nicht das tun, was Du erwünscht hast ;-).

viele Grüße

Axel