Björn Zapadlo: forms.submit() und Netscape 4.75 => Probleme

Hallo,

folgendes Script macht im Netspae 4.75 Probleme. Unter IE 5.5 + 6.0 funktioniert es einwandfrei.
Folgende Fehlermeldung wird in der JS-Konsole angezeigt:
JavaScript Error: document.formular.submit is not a function
Das Formular heisst wirklich "formular" und die Funktion wird per onclick ausgeführt.

hier das Script:

<script language="javascript">

function test()
{

var checked = true;
var vorname = document.forms[0].vorname.value;
var nachname = document.forms[0].nachname.value;
var geburtsdatum = document.forms[0].geburtsdatum.value;
var geburtsdatum_reg = /^\d{2}.\d{2}.\d{4}$/;
var email = document.forms[0].email.value;
var email_reg = /^(\w)+((.|-)*(\w)+)+@((\w)+(.|-)*(\w)+)+(.\w+\w+)*$/;
// RegEx für eMails
var telefon_1 = document.forms[0].telefon_1.value;
var telefon_2 = document.forms[0].telefon_2.value;
var fax = document.forms[0].fax.value;
var mobil = document.forms[0].gsm.value;
var telefon_reg = /^(\d)*\s/(\s(\d)*)*$/;
// RegEx für Telefonnummer
var homepage = document.forms[0].homepage.value;
var homepage_reg = /^http://\w{2,}.[A-Za-z]{2,}((.)(\w)+)*$/;
var icq = document.forms[0].icq.value;
var icq_reg = /^\d{5,}$/;

if (vorname == "")
{
 alert ("Hast Du keinen Vornamen?")
 checked = false;
}

if (nachname == "")
{
 alert ("Hast Du keinen Nachnamen?")
 checked = false;
}

if (geburtsdatum != "")
{
 if (!geburtsdatum_reg.exec(geburtsdatum))
 {
  alert ("Schon blöd, wenn man den eigenen Geburtstag nicht kennt!");
  checked = false;
 }
}

if (email != "")
{
 if (!email_reg.exec(email))
 {
  alert ("Sorry, aber das ist keine gültige E-Mail-Adresse!");
  checked = false;
 }
}

if (telefon_1 != "")
{
 if (!telefon_reg.exec(telefon_1))
 {
  alert ("Deine 1. Telefonnummer ist ungültig!");
  checked = false;
 }
}

if (telefon_2 != "")
{
 if (!telefon_reg.exec(telefon_2))
 {
  alert ("Deine 2. Telefonnummer ist ungültig!");
  checked = false;
 }
}

if (fax != "")
{
 if (!telefon_reg.exec(fax))
 {
  alert ("Mach keine Faxen mit der Fax-Nummer!");
  checked = false;
 }
}

if (mobil != "")
{
 if (!telefon_reg.exec(mobil))
 {
  alert ("Überprüf Deine Handy-Nummer noch mal!");
  checked = false;
 }
}

if (homepage != "")
{
 if (!homepage_reg.exec(homepage))
 {
  alert ("Diese Adresse ist bestimmt nicht richtig!");
  checked = false;
 }
}

if (icq != "")
{
 if (!icq_reg.exec(icq))
 {
  alert ("Das ist keine gültige ICQ-Nummer!");
  checked = false;
 }
}

if (checked)
{
 //alert("ok")
 senden()
}

}
function senden()
{
 document.formular.submit();
}
</script>

weiss jemand warum bzw, was ich machen kann, dass es tut?

DANKE!!!

  1. Hallo,

    das ganze klingt für mich eher nach irgendeiner kleinen Unkorrektheit des Formulars (IE versucht Fehler selbst zu korregieren/interpretieren). Netscape ist da recht empfindlich.
    Gibt's eine URL zur ganzen Seite damit man sich's mal anschauen kann?

    Grüße aus Würzburg
    Julian

  2. Hallo,
    alert ("Hast Du keinen Vornamen?")
    alert ("Hast Du keinen Nachnamen?")
      alert ("Schon blöd, wenn man den eigenen Geburtstag nicht kennt!");

    Da krieg ich echt 'n Hals. Wenn ich das ausfüllen sollte und diese Meldungen bekommen würde, würde das Formular höchstens Dir um die Ohren fliegen.

    Wie gehst Du denn mit Deinen "Kunden" um??

    Clemens

  3. Hi!

    var vorname = document.forms[0].vorname.value;
    var nachname = document.forms[0].nachname.value;

    Funktionieren diese Zeilen denn? Wenn ja, dann nimm doch einfach document.forms[0].submit().

    Aber Du solltest diese voellig uebertriebenen Checks besser weglassen. Wie ich meine Telefonnummer formatiere, da hast Du nun wirklich keine Aktien dran. Bei dem ganzen Gemecker, da schalte ich JS einfach ab und klatsch Dir das Formular von den Hals.

    So long