Emil: Formular wird im InternetExplorer nicht abgeschickt.

Hallo zusammen.
Ich habe ein simples Formular, welches in Browsern wie Firefox, Safari etc funktionieren, nur im Internet Explorer will es nicht. Es wird einfach nicht abgeschickt.

Quellcode:

<form enctype="multipart/form-data" action="cgi-bin/upload.cgi?upload_id=" method="post" onsubmit="return StartUpload();" target="upload" name="F1">
<table border="0" width="100%">
<tbody><tr>
<td>zu übertragende Datei: <br><br></td>
</tr>
<tr>
<td><input name="file" size="50" class="ftpupload" type="file"> <br><br></td>
</tr>
<tr>
<td>
<input name="upload" value="Datei senden!" class="ftpsubmit" onclick="document.F1.upload.value='Bitte warten'; document.F1.upload.disabled=true;" type="submit">
<br><br></td>
</tr>
<tr>
<td align="left">
<input name="popup" id="popup" value="false" type="hidden">
<input name="inline" id="inline" value="true" type="hidden">
<input name="css_name" value="" type="hidden">
<input name="tmpl_name" value="" type="hidden">

</td>
</tr>
</tbody></table>
</form>

Vielen Dank für die Hilfe.

Emil

  1. Was bewirkt denn die Funktion StartUpload, die beim senden aktiv wird? Wenn diese fehlerhaft ist oder der Internet Explorer sie nicht interpretiert und dafür false zurück wirst wäre das eine logische Erklärung.

    1. Was bewirkt denn die Funktion StartUpload, die beim senden aktiv wird? Wenn diese fehlerhaft ist oder der Internet Explorer sie nicht interpretiert und dafür false zurück wirst wäre das eine logische Erklärung.

      Die Funktion startet einen Upload via CGI, welche wiederum einen Uploadstatus erzeugt. Ist für größere Uploads über HTTP gedacht.

      Es funktioniert auch nicht, wenn ich den Funktionsaufruf rausnehme.

      Emil

      1. moin,

        ich würde mal das ganze JavaScript-Geprassel rausnehmen und das Upload mit verschiedenen Browsern testen. Das geht bestimmt.

        Wenns JS unbedingt wieder reinsoll, Schritt für Schritt debuggen.

        roro

  2. Hallo Rafael!

    <input name="upload" value="Datei senden!" class="ftpsubmit" onclick="document.F1.upload.value='Bitte warten'; document.F1.upload.disabled=true;" type="submit">

    Da macht ausnahmsweise mal der IE genau das was Du umgesetzt hast. Du setzt onclick (und das ist vor onsubmit) den Button auf disabled. Das heisst, das Formular wird nicht mehr abgesendet. Setze den Button am Anfang Deiner Funktion auf disabled, dann wird diese auch noch ausgefuehrt.

    Vielen Dank für die Hilfe.

    Gerne geschehen.

    Schönen Gruß

    Afra

    1. Da macht ausnahmsweise mal der IE genau das was Du umgesetzt hast. Du setzt onclick (und das ist vor onsubmit) den Button auf disabled. Das heisst, das Formular wird nicht mehr abgesendet. Setze den Button am Anfang Deiner Funktion auf disabled, dann wird diese auch noch ausgefuehrt.

      Jawoll. Genau das war das Problem. Besten Dank für die Hilfe.

      Emil

  3. hi,

    <input name="upload" value="Datei senden!" class="ftpsubmit" onclick="document.F1.upload.value='Bitte warten'; document.F1.upload.disabled=true;" type="submit">

    Wenn du diesen Button in dem Augenblick, wo er geklickt wird, auf disabled setzt, dann mag man sich als Browser vielleicht weigern, das Formular anschlissend abzuschicken - schliesslich ist er dann zu dem Zeitpunkt, wo man es verschicken möchte, bereits disabled, und darauf auf ihn nicht mehr zu reagieren.

    Du könntest probieren, das Abschicken dann ebenfalls per Javascript auszulösen, über Aufruf der submit-Methode des Formulars. Ob dann onsubmit zuverlässig feuert, wäre zu prüfen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }