submit() oder submit
Turtle
- javascript
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
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
Hallo Wahsaga,
deine Vermutung war die Ursache des Problems.
Danke,
Turtle
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.