Turtle: submit() oder submit

Hallo, folgendes Problem:

Ich habe ein Formular:
<form name="suche" method="get" action="">...</form>

Innerhalb des forms einen SubmitButton:
<input type="image" src="mat/suchen_4.gif" alt="" name="detailSearch" onClick="setFormAction('detailSearch');">

function setFormAction(type)
{
var form = window.document.forms["suche"];
if(type == "objBuchen")
{
  objekt_nr = form.elements["objekt_nr"].value;
  url = "kontakt.php?caller=buchen&objekt_nr=" + objekt_nr;
  window.location.href = url;
}
else
{
  // type: detailSearch, objSearch
  form.action = "result.php";
  form.submit();
}
}

Wenn ich den Submit-Button drücke, dann gibt es im MSIE und im
Firefox den Fehler: form.submit is not a function.

Aber es ist eindeutig eine Javascript-Methode und wird "submit()" geschrieben. Wenn ich aber schreibe:

form.submit;

dann gibt es in beiden Browsern keine Fehlermeldungen.

Kann mir das jemand erklären?

Gruss,
Turtle

  1. hi,

    Wenn ich den Submit-Button drücke, dann gibt es im MSIE und im
    Firefox den Fehler: form.submit is not a function.

    häufige ursache dieses fehler:

    ein im formular vorhandenes element hat den namen oder die ID "submit" bekommen.

    damit wird ein eintrag submit in der elements-collection erzeugt - und auf diese kann man ja bekanntlich über
    [document.]form.elementname
    zugreifen.

    wenn jetzt elementname aber "submit" ist - dann hat das damit entstandene
    document.form.submit
    die submit()-methode des forms überschrieben.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo Wahsaga,

      deine Vermutung war die Ursache des Problems.

      Danke,
      Turtle

  2. Ich habe ein Formular:
    <form name="suche" method="get" action="">...</form>

    Innerhalb des forms einen SubmitButton:
    <input type="image" src="mat/suchen_4.gif" alt="" name="detailSearch" onClick="setFormAction('detailSearch');">

    Wenn dies innerhalb des formulares ist könntest du mit this arbeiten:
    <input type="image" src="mat/suchen_4.gif" alt="" name="detailSearch" onClick="setFormAction(this.form, 'detailSearch');">

    function setFormAction(type)

    function setFormAction(form, type)

    {
    var form = window.document.forms["suche"];

    und das rausschmeissen.

    Aber im Prinzip würde ich das ganze Serverseitig lösen, so machst du das Formular für manche unbenutzbar.

    Struppi.