DataFox
Erfahrenes Mitglied
Hi Leute
ich habe stundenlang probiert und getestet, und bin dabei auf folgendes Problem gekommen:
Angenommen man hat ein HTML-Formular, etwa so:
oder ein anderes Formular, etwa so:
dann kann man es mit diesem Code hier nicht abschicken:
Man erhält eine nette Fehlermeldung: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht".
Und jetzt der Hammer: Man darf in einem Formular nirgends ein name="submit" benutzen.
Also ich finde etwas ungünstig, weil ich das schon seit Ewigkeiten so mache und ich immer auf Serverseite den "submit"-Wert auslese um zu wissen ob was abgeschickt wurde. Alle meine Skrippte bauen darauf auf :/
na ja, die Frage ist jetzt - ist JS echt so "schlau" und denkt, ich will beim Formular das Element mit dem namen "submit" ansprechen, wenn ich formular.submit(); mache? schon klar das dieser Button selbst oder das Input-Feld nicht die submit-Methode implementiert hat... hmm...daher wohl die Meldung.
klar ich könnt nu einfach alle meine Skripte anpassen, aber ich will lieber das Problem auf Javascript-Ebene lösen. Ist hier jemand damit vertraut? Kann mir vorstellen das es nichts neues ist.
freue mich über jeden guten Tipp danke!
Gruß
Laura
-------------------
Edit: Oh, mir fällt da was ein. Was haltet Ihr davon?
Ich durchsuche das Formular nach Elementen die das attribut name=submit haben, und ersetze den name durch irgend etwas sinnloses. z.b. "abcdefg". Dann verpasse ich dem Formular einen Event-Listener für onSubmit. Und der ruft eine Funktion auf, die - wenn der Submit schon gestartet wurde, schnell noch das manipulierte Element in name=submit umbenennt. würde das funktionieren? unabhängig davon ob das jetzt umständlich ist? wie kann ich denn stück-für-stück alle formularelemente durchgehen?
ich habe stundenlang probiert und getestet, und bin dabei auf folgendes Problem gekommen:
Angenommen man hat ein HTML-Formular, etwa so:
Code:
<form action="irgendwo.php" method="post" id="myForm">
<input type="text" name="irgendwas">
<input type="submit" name="submit" value="abschicken">
</form>
oder ein anderes Formular, etwa so:
Code:
<form action="irgendwo.php" method="post" id="myForm">
<input type="text" name="irgendwas">
<input type="hidden" name="submit" value="abschicken">
<input type="submit" name="einbutton" value="abschicken">
</form>
dann kann man es mit diesem Code hier nicht abschicken:
var formular = document.getElementById('myForm');
formular.submit();
Man erhält eine nette Fehlermeldung: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht".
Und jetzt der Hammer: Man darf in einem Formular nirgends ein name="submit" benutzen.
Also ich finde etwas ungünstig, weil ich das schon seit Ewigkeiten so mache und ich immer auf Serverseite den "submit"-Wert auslese um zu wissen ob was abgeschickt wurde. Alle meine Skrippte bauen darauf auf :/
na ja, die Frage ist jetzt - ist JS echt so "schlau" und denkt, ich will beim Formular das Element mit dem namen "submit" ansprechen, wenn ich formular.submit(); mache? schon klar das dieser Button selbst oder das Input-Feld nicht die submit-Methode implementiert hat... hmm...daher wohl die Meldung.
klar ich könnt nu einfach alle meine Skripte anpassen, aber ich will lieber das Problem auf Javascript-Ebene lösen. Ist hier jemand damit vertraut? Kann mir vorstellen das es nichts neues ist.
freue mich über jeden guten Tipp danke!
Gruß
Laura
-------------------
Edit: Oh, mir fällt da was ein. Was haltet Ihr davon?
Ich durchsuche das Formular nach Elementen die das attribut name=submit haben, und ersetze den name durch irgend etwas sinnloses. z.b. "abcdefg". Dann verpasse ich dem Formular einen Event-Listener für onSubmit. Und der ruft eine Funktion auf, die - wenn der Submit schon gestartet wurde, schnell noch das manipulierte Element in name=submit umbenennt. würde das funktionieren? unabhängig davon ob das jetzt umständlich ist? wie kann ich denn stück-für-stück alle formularelemente durchgehen?
Zuletzt bearbeitet: