formular.submit() bringt "zugriff verweigert"
Marcel Richtsteiger
- javascript
Hallo an alle,
ich öffne ein <input type="file" name="foo"> mittels eines Links, der per JavaScript document.formular.foo.click() ausführt.
Ich weiß, dies klappt nur im IE, aber das ist nicht meine Frage.
Denn wenn ich nun mittels eines weiteren Links document.formular.submit() aufrufe, dann kommt immer die Meldung: "zugriff verweigert".
Ich hab schon aus Testzwecken einen Submit-Button in dieses Formular reingesetzt, dieser löscht aber beim ersten klick den Inhalt des INPUT-Tags und erst beim zweiten klick schickt der alles ab.
Hab ich was falsch gemacht, und wie kann ich mein vorhaben realisieren?
Gruß
Marcel
Hallo,
wenn beim IE Sicherheitsmeldungen kommen, dann kann es sich hier um einen Fehler mit target=neuesFenster oder target=neuerFrame bzw. window.open handeln. Weitere mögliche Ursachen sind Method=get und multiform/data.
Fehlersuche:
Input type=file mal auskommentieren.
Aber bei solchen Sachen hilft nur der komplette Code des Formulars.
Ausserdem ist nach IE 5.5 document.forms[0] und DOM2 besser document.getElementById("formularname").submit()
Ist der Fehler nicht beim IE zu finden, sind ggf. die Servereinstellungen CHMOD für die Fehlermeldung zuständig. (auch wichtig bei einem Post: wer gibt die Fehlermeldung aus ?)
Viel Erfolg !
Michael
Hallo nochmal,
Aber bei solchen Sachen hilft nur der komplette Code des Formulars.
Hier der betreffende Abschnitt:
<form action="../modules/main.php?shlink=37&select_news=3" method="post" name="formimage2" enctype="multipart/form-data">
<a href="javascript:document.formimage2.image.click()">Bild einfügen</a><br>
<a href="javascript:document.formimage2.submit()">Bild senden</a><br>
<input type="file" name="image" class="insertpicture" enctype="multipart/form-data">
</form>
Der Link "Bild einfügen" klappt wie gesagt prima. Nur wenn ich dann auf den Link "Bild senden" klicke kommt im IE die Fehlermeldung.
Ist der Fehler nicht beim IE zu finden, sind ggf. die Servereinstellungen CHMOD für die Fehlermeldung zuständig. (auch wichtig bei einem Post: wer gibt die Fehlermeldung aus ?)
IE gibt den Fehler aus.
Gruß
Marcel
Haha, ich habe den Fehler raus !!!
Du kannst das nicht mit action="irgendwas.php?variable=irgendwas"
schreiben.
ersetze das durch: <form action="irgendwas.php"><input type="hidden" name="variable" value="irgendwas"><input type="hidden" name="zweitevariable" value="wiederirgendwas">
</form>
Hallo nochmal,
Aber bei solchen Sachen hilft nur der komplette Code des Formulars.
Hier der betreffende Abschnitt:
<form action="../modules/main.php?shlink=37&select_news=3" method="post" name="formimage2" enctype="multipart/form-data">
<a href="javascript:document.formimage2.image.click()">Bild einfügen</a><br>
<a href="javascript:document.formimage2.submit()">Bild senden</a><br>
<input type="file" name="image" class="insertpicture" enctype="multipart/form-data">
</form>
Der Link "Bild einfügen" klappt wie gesagt prima. Nur wenn ich dann auf den Link "Bild senden" klicke kommt im IE die Fehlermeldung.
Ist der Fehler nicht beim IE zu finden, sind ggf. die Servereinstellungen CHMOD für die Fehlermeldung zuständig. (auch wichtig bei einem Post: wer gibt die Fehlermeldung aus ?)
IE gibt den Fehler aus.
Gruß
Marcel
Hallo,
Haha, ich habe den Fehler raus !!!
Du kannst das nicht mit action="irgendwas.php?variable=irgendwas"
schreiben.
ersetze das durch: <form action="irgendwas.php>
nee, das wars leider auch noch nicht. Habs abgeändert und wieder der gleiche Fehler...
Trotzdem Danke
Gruß
Marcel
Hi,
Denn wenn ich nun mittels eines weiteren Links document.formular.submit() aufrufe, dann kommt immer die Meldung: "zugriff verweigert".
neben dem von MichelM gesagten ist die action des Formulars auch noch interessant. Bei einem mailto-Formular (welches eh unsinnig ist - nicht nur bei <input type="file">) hast Du z.B. keine Chance, das Formular anders als durch Submit-Button abzuschicken.
Ich hab schon aus Testzwecken einen Submit-Button in dieses Formular reingesetzt, dieser löscht aber beim ersten klick den Inhalt des INPUT-Tags und erst beim zweiten klick schickt der alles ab.
Huh? Dann hast Du irgendwas gebaut, was in sich, ähm, inkonsistent ist. Ich fürchte, wenn _sowas_ passiert, wird in anderen Browsern noch viel ungewöhnliches vorkommen.
Cheatah