form.submit mit Javascript
andi
- javascript
Ich habe folgende Seite (HTML oder JSP):
-----------------------------------------
<html>
....
<form name="..." action="..." method="...">
...
<input type="button" onClick="form_submit(this.form.name)"/>
<input type="submit" name="submit" value="submit"/>
</form>
<script type="text/javascript">
function form_submit(formName) {
document.forms[formName].submit();
}
</script>
....
</html>
-----------------------------------------
Das Problem ist nun folgendes:
Netscape 4.7 bringt mir den Fehler:
JavaScript Error: document.forms[formName].submit is not a function
InternetExplorer :
Object does not support this property or method
Wenn ich den input-type "submit" weglasse, und nur den button mit der
js-Funktion nehme, funktionniert es.
Gibt es eine Möglichkeit, so dass ich in einem Formular beide Methoden
anwenden kann (über submit-Button, und über JavaScript-Funktion) ???
regards
Andi
Hallo,
document.forms[formName].submit();
in dieser schreibweise wird eine nummer erwartet
bsp. die 0 für das erste form auf der seite, kein string...
oder document.formname.submit();
Odium
Hallo,
document.forms[formName].submit();
in dieser schreibweise wird eine nummer erwartet
bsp. die 0 für das erste form auf der seite, kein string...
oder document.formname.submit();
Odium
Hy Odium,
ich weiss, dass laut JavaScript eine Index-Nummer erwartet wird,
aber es funktionniert auch mit dem Formnamen.
Die direkte Schreibweise (document.formname.submit();) habe ich
auch getestet, funktionniert auch, aber ich möchte es ja dynamisch
haben.
Mein Problem liegt aber nicht daran, sondern dass das ganze ohne
zusätzlichen Submit-Button funktionniert, aber mit dem
Submit-Button plötzlich nicht mehr.
(also einfach aus dem Code den <input type="submit".../> rausnehmen,
dann funktionniert es)
Woran liegt das Problem
Andi
PS: danke trotzdem für die Antwort
Hallo,
funktioniert es auch in dieser merkwürdigen schreibweise im ns 4.7 (also ohne submit-button)?
Odium
Hallo,
funktioniert es auch in dieser merkwürdigen schreibweise im ns 4.7 (also ohne submit-button)?
Odium
Hy,
noch schnell zur genauen Erklärung, wie es funktionniert, und wie nicht:
so geht's:
---------------------------------------------
<form name="myForm" action="..." method="...">
...
<input type="button" onClick="form_submit()"/>
</form>
<script type="text/javascript">
function form_submit() {
document.myForm.submit();
}
</script>
----------------------------------------------
und so nicht:
---------------------------------------------
<form name="myForm" action="..." method="...">
...
<input type="button" onClick="form_submit()"/>
<input type="submit" name="submit" value="submit"/>
</form>
<script type="text/javascript">
function form_submit() {
document.myForm.submit();
}
</script>
----------------------------------------------
Das Problem häng also direkt mit dem Submit-Button
zusammen...
Hi,
funktioniert es auch in dieser merkwürdigen schreibweise im ns 4.7 (also ohne submit-button)?
Die Schreibweise ist nicht merkwürdig. formName ist ein Parameter der Funktion, kein String.
Wenn darin der korrekte Name der Form als String drinsteht, ist das ok.
Das Problem ist hier ein Namenskonflikt, s.o.
Andreas
Hi,
<form name="..." action="..." method="...">
...
<input type="button" onClick="form_submit(this.form.name)"/>
<input type="submit" name="submit" value="submit"/>
Nutze nie HTML-Elementnamen, HTML-Attributnamen oder Javascript-Funktionsnamen als Werte des name- oder id-Attributs.
Das Problem ist nun folgendes:
Netscape 4.7 bringt mir den Fehler:
JavaScript Error: document.forms[formName].submit is not a function
InternetExplorer :
Object does not support this property or method
Klar, document.forms[formname].submit ist der Button, den Du so sinnvoll benannt hast.
Wenn ich den input-type "submit" weglasse, und nur den button mit der
js-Funktion nehme, funktionniert es.
Klar, dann ist der Namenskonflikt weg.
Gibt es eine Möglichkeit, so dass ich in einem Formular beide Methoden
anwenden kann (über submit-Button, und über JavaScript-Funktion) ???
Ja, verwende sinnvolle Werte für das name-Attribut.
Andreas
Hallo Andreas,
ich sehe jetzt das Problem das entsteht.
Nur habe ich eine Struts-Appliakation, die mir in jeweils in der
JSP-Seite den submit button automatisch generiert, und somit auch
den name="submit" setzt.
Aus folgendem Tag html:submit ergibt sich im source-code folgendes:
<input type="submit" name="submit" value="...">
Somit bin ich wieder beim Namenskonflikt.
Gibt es eine weitere Möglichkeit, mittels javascript das Formular zu
posten, ausser mit "document.forms[formname].submit()" ???
Vielen Dank für die Hilfe, hat mir bereits sehr weitergeholfen.
Andi
Hi,
<form name="..." action="..." method="...">
...
<input type="button" onClick="form_submit(this.form.name)"/>
<input type="submit" name="submit" value="submit"/>
Nutze nie HTML-Elementnamen, HTML-Attributnamen oder Javascript-Funktionsnamen als Werte des name- oder id-Attributs.
Das Problem ist nun folgendes:
Netscape 4.7 bringt mir den Fehler:
JavaScript Error: document.forms[formName].submit is not a function
InternetExplorer :
Object does not support this property or method
Klar, document.forms[formname].submit ist der Button, den Du so sinnvoll benannt hast.
Wenn ich den input-type "submit" weglasse, und nur den button mit der
js-Funktion nehme, funktionniert es.
Klar, dann ist der Namenskonflikt weg.
Gibt es eine Möglichkeit, so dass ich in einem Formular beide Methoden
anwenden kann (über submit-Button, und über JavaScript-Funktion) ???
Ja, verwende sinnvolle Werte für das name-Attribut.
Andreas