onclick="document.formname.submit()" in a-tag
romy
- javascript
Hi,
ich arbeite gerade an einer Intranet-Anwendung und beschäftige mich dabei etwas mit Javascript.
Jetzt komme ich aber nicht merh vorwärts...
ich habe eine Form namens "formname"
irgendwoanders im Dokument habe ich einen link mit einem onClick-Ereignis (siehe Überschrift)
Der IE sagt mir als Fehler: Das Objekt unterstützt Eigenschaft oder Methode nicht. Warum?
ich darf onclick in a-tags benutzen laut SELFHTML
und auch laut SELFHTML kann ich das submit über document.formname auslösen.
Wo könnte mein Denkfehler liegen?
vielen Dank
ciao
romy
Hallo romy
(Fast) ganz einfach:
document.forms[0].submit()
0 entspricht einem Index für die Form. 0 ist die erste Form im Dokument, 1 die zweite ...
Müsste jetzt funktionieren...
Sebastian
Hi
document.forms[0].submit()
das ist richtig, aber ich müsste die Form doch auch über den Namen erreichen können ? Da alles generiert wird, weiss ich später nicht mehr welche form zuerst kommt und welche später
ciao
romy
Hi,
Der IE sagt mir als Fehler: Das Objekt unterstützt Eigenschaft oder Methode nicht. Warum?
das erfährst Du mit
alert(document);
alert(document.formname);
alert(document.formname.submit);
Cheatah
Hi
alert(document);
[object]
alert(document.formname);
[object]
alert(document.formname.submit);
undefined
heisst das das die Methode submit nicht erkannt wird?
Wenn ja, wieso?
submit() gibt es doch
ciao
romy
Hi,
das sollte:
<html>
<head>
</head>
<body>
<form Name="mf">
<input type="text" name="dpl" size="30" value="lalalal">
</form>
<script language="javascript1.2" type="text/javascript">
alert(document.mf.submit);
</script>
</body>
</html>
function submit(){
[nativ code]
}
ausgeben.
Ansonsten stimmt etwas anderes nicht. Wenn Du den submit per onclick im a-tag ausloest, hast Du an das "return false" gedacht, um den html-link "abzuschalten"?
Gruesse Joachim
Hi,
Ansonsten stimmt etwas anderes nicht.
grade noch eingefallen: Überpruef mal ob der Formname versehentlich auch fuer etwas anderes verwendet wurde, das erklaert, wieso document.formname ein Object, die Methode submit aber unbekannt ist.
Gruesse Joachim
Hi
Ansonsten stimmt etwas anderes nicht.
grade noch eingefallen: Überpruef mal ob der Formname versehentlich auch fuer etwas anderes verwendet wurde, das erklaert, wieso document.formname ein Object, die Methode submit aber unbekannt ist.
hab ich geprüft, daran liegt es nicht
return false hatte ich nicht, aber jetzt und der Fehler bleibt
<code>
<form action="<?=$phpself?>" method="post" name="edit23">
<input type="hidden" name="action" value="balabla">
<input type="hidden" name="id" value="65">
</form>
<a href="<?=$phpself?>" onClick="document.edit23.submit();return false"> blabla</a>
</code>
Was könnte es noch sein?
ciao
romy
Hi,
Was könnte es noch sein?
poste lieber mal das ausgegebene html, vielleicht steckt da ein Fehler drinne, falsches Anfuehrungszeichen oder sowas... moeglicherweise gar nicht direkt in dem form-block, sondern in unmittelbarer Nachbarschaft.
Es muss so etwas sein, denn prinzipiell ist der Code so ok.
<html>
<head>
</head>
<body>
<form action="neu.html" method="post" name="edit23">
<input type="hidden" name="action" value="balabla">
<input type="hidden" name="id" value="65">
</form>
<a href="#" onClick="document.edit23.submit();return false"> blabla</a>
</body>
</html>
funktioniert bei mir.
Gruesse Joachim
Hi
also ich bin schon einen Schritt weiter, aber ab jetzt wird das Suchen komplizierter. Habe mal den Quellcode (nach der Generierung) in eine einzelne Datei abgelegt und es funktioniert wie gewünscht ohne Fehlermeldung
in meinem Gesamtdokument kommt weiterhin der Fehler...
Jetzt weiss ich schon mal, dass das Problem an anderer Stelle liegt
ich werde mal das Dokument durchsuchen, vielleicht gibt es ja irgendetwas. (Alles zu posten wäre etwas viel)
vielen Dank erstmal ich melde mich wenn es klappen sollte bzw. wenn ich nicht weiterkomme.
ciao
romy
Hi,
<form action="<?=$phpself?>" method="post" name="edit23">
<input type="hidden" name="action" value="balabla">
<input type="hidden" name="id" value="65">
</form>
<a href="<?=$phpself?>" onClick="document.edit23.submit();return false"> blabla</a>
Eine Idee (Spekulation):
die Submit-Funktion versucht vielleicht intern, document.edit23.action auszulesen (um zu wissen, wo das Zeug hingeschickt werden soll).
Aber was bekäme sie in diesem Fall?
Das action-Attribut des form-Elements oder das hidden-Field mit Name action?
Ändere mal die beiden Namen - es ist immer gefährlich, für name-Attribute Werte zu benutzen, die HTML-Elementnamen oder HTML-Attributnamen oder Javascript-reservierte Namen sind.
cu,
Andreas
Hi
Eine Idee (Spekulation):
die Submit-Funktion versucht vielleicht intern, document.edit23.action auszulesen (um zu wissen, wo das Zeug hingeschickt werden soll).
dies ist zwar in diesem Falle nicht das Problem, habe es ausprobiert (siehe Joachim), aber Du hast Recht, man sollte keine Namensdopplungen haben, ich werde die Variablen ändern, sonst findet man ja bestimmte Fehler nie.
vielen Dank
ciao
romy
Hi
Wo könnte mein Denkfehler liegen?
ich habs, den Fehler mache ich irgendwie immer wieder und trotzdem fällt es mir nicht ein, wenn es nötig ist. Ich lasse das ganze ja durch PHP generieren und dadurch ensteht nicht nur ein Formular sondern mehrere, die dann alle _gleich_ heissen. Natürlich weiss Javascript dann nicht, was es machen soll.
vielen Dank für Eure Hilfe
ciao
romy