vollstock: Formular per Javascript abschicken

Hallo,

kann mir bitte jemand erklären, warum

function senden() {
 document.forms["eintrag"].submit()
 document.location = "gaestebuch_danke.htm"
}

nicht funktioniert??
Jede der beiden Anweisungen funktioniert einzeln sehr gut,
aber Netscape (Version 6) verarbeitet nicht beide!
In allen anderen Browsern funktoiniert es.

Mit einer ganz normalen anweisung wie

<form action="irgendein_cgi" onsubmit="javascript:document.location='gaestebuch_danke.htm'">

ist es das selbe.
Es funktioniert prächtig, nur Netscape schickt zwar das Formular ab,
leitet aber nicht an die neue Adresse weiter.

Ich bin für jeden Rat dankbar!!
Ciao vollstock

  1. Hi,

    function senden() {
    document.forms["eintrag"].submit()
    document.location = "gaestebuch_danke.htm"

    location ist kein Unterobjekt von document, sondern von window.
    window.location.href="gaestebuch_danke.htm"
    wäre wesentlich richtiger

    }
    Jede der beiden Anweisungen funktioniert einzeln sehr gut,

    das bezweifle ich. s.o.

    <form action="irgendein_cgi" onsubmit="javascript:document.location='gaestebuch_danke.htm'">

    hier gibt es gleich drei Fehler:
    javascript: ist keine Javascript-Anweisung, hat also im onsubmit nichts zu suchen.
    location s.o.
    es sollte auf jeden Fall noch ein Returnwert (true) angegeben werden.

    In beiden Fällen ist die Frage, was jeweils passiert.
    Beim Submit kann es sein, daß die Seite nachfolgendes Javascript nicht mehr ausführt, da der Browser ja auf die Response des Servers wartet.

    Bei der zweiten Variante wird zuerst die Seite ersetzt durch die Danke-Seite.
    Damit ist das Formular weg, kann also nicht mehr abgeschickt werden.

    Es funktioniert prächtig,

    Da habe ich starke Zweifel.

    Warum machst Du es nicht so wie üblich und läßt die Danke-Seite von dem Script erzeugen, daß die Formulardaten verarbeitet? Das ist die zuverlässigste Variante (und funktioniert ganz ohne Javascript).

    cu,
    Robert

    1. Hallo,

      habe ein ähnliches Problem, darum poste ich es hier mal rein:

      ich will bei laden einer seite ein formular abschicken (also ohne das der benutzer etwas macht).

      hab halt auch nicht so den plan von javascript. hab eine functon definiert( function formsend() { document.brokeform.submit();} ) die ich per '<body onload="formsend()">' aufrufen wollte.
      Leider klappt das ganze nicht, vielleicht hat kann jemand Abhilfe schaffen.

      Danke,

      jens