Daniel: onSubmit funktioniert nicht bei document.[Formular].submit()

Mahlzeit,

wenn ich meine form mit dem submit() befehl abschicke,
reagiert der onSubmit event-handler nicht..
beim abschicken mit nem <input type='submit'> klappt's wunderbar...

Codeauszug :
function check_all()
{
  //gibt entweder false oder true zurueck...
}
.
.
<form action="Servlet" onSubmit="return check_all();" name="Control" method="post">
.
.
//entweder
<input type='submit' value='schick weg'> //damit geht's
//oder
<input type='button' value='schick weg' onClick='document.Control.submit();'> //damit geht's nicht

ich muss unbedingt die document.Control.submit() variante benutzen !

Weiser Rat is teuer

Helft.

Daniel

  1. Hi,

    wenn ich meine form mit dem submit() befehl abschicke,
    reagiert der onSubmit event-handler nicht..

    korrekt. Event-Handler reagieren auf nicht durch JavaScript initiierte Ereignisse. Das ist auch nicht schlimm, weil Du in einer JavaScript-Funktion exakt die selben Funktionen aufrufen kannst, die sonst onEvent aufgerufen würden.

    Cheatah

    1. Danke fuer die schnelle antwort...

      Das hab ich nicht gewusst.

      Einen Teil hab ich aber nicht erwaehnt (der Einfachheit halber) :

      Ich muss die submit() function von nem anderen Frame aus aufrufen.
      und da ich vom anderen Frame nicht direkt auf die form-check-function check_all() zugreifen kann,
      muss ich des ueber ein onSubmit ausloesen.

      (ein click() auf den submit-button kann ich nicht ausfuehren, da der button nicht
      sichtbar sein darf)

      Danke

      Daniel

      1. Hi,

        Ich muss die submit() function von nem anderen Frame aus aufrufen.

        das ist irrelevant. Wenn eine Referenz zu dem Fenster existiert (was bei Frames der Fall ist), dann kannst Du darin (sofern nicht die Same Origin Policy greift) alles machen, was Du aus dem entsprechenden Fenster selbst machen kannst.

        und da ich vom anderen Frame nicht direkt auf die form-check-function check_all() zugreifen kann,

        Du kannst.

        Cheatah

        1. Nochmals Dank,

          hab's grad ausprobiert.

          Somit ist mein Problem geloest.

          Erfuerchtig wandle ich davon.

          Gracias.

          Daniel

      2. Tach

        Einen Teil hab ich aber nicht erwaehnt (der Einfachheit halber) :

        Ich muss die submit() function von nem anderen Frame aus aufrufen.
        und da ich vom anderen Frame nicht direkt auf die form-check-function check_all() zugreifen kann,
        muss ich des ueber ein onSubmit ausloesen.

        Non sequitur. Wenn Du auf die eine Funktion (submit) des Frames zugreifen kannst, kannst Du auch auf die andere (form-check) zugreifen.

        Andreas