Calocybe: Kann es sein das mein Script nicht mit dem IE 5 nicht geht?

Beitrag lesen

Hi!

Naja bei mir aufm Rechner funktioniert das ja auch alles (mit dem IE 6) aber sobald ich es mit einem Rechner teste der dem Firmen Standard entspricht (also IE 5) macht er folgendes.

Verstehe nicht, wieso das mit IE6 funktionieren soll. Du rufst uebermitteln() doch in *jedem* Fall auf!

Na wie auch immer, Deine Herangehensweise ist voellig verkehrt. Formularueberpruefung mit JS macht man so:

function CheckForm() {
    /* zum einfachen Zugriff Formularreferenz in f speichern */
    var f = window.document.forms["support"];

/* Reihe von Tests */
    /* sobald einer fehlschlaegt, false zurueckgeben! */
    /* z.B. */

if (f.Bootdisk.value == "") {
        alert("Please type in the Version of your LBC CONNECT DISK!");
        document.support.Bootdisk.focus();
        return false;   //  <-- WICHTIG!
    }

return true;        //  <-- WICHTIG!
}

<form name="support" action="mailto:lala@lent.com?subject=Support Request" method="post" enctype="text/plain" onSubmit="return CheckForm();">

...

<input type=submit ...>
</form>

Du siehst, dass die Aktion des ganz normalen Submit-Buttons durch den onSubmit-Handler abgefangen wird, und der darueber entscheidet, ob nun wirklich abgeschickt wird oder nicht.

Ich hoffe, dass Du Dir darueber im klaren bist, dass action="mailto:..."  NUR IN AUSNAHMEFAELLEN funktioniert, meistens also nicht tut, was Du willst. Vgl. http://www.praast.de/ffq/mailto.htm. Dir sei also ein serverseitiges Script, welches die Mail zuverlaessig verschickt, DRINGEND empfohlen. Falls Du selber keines installieren kannst, schau mal auf http://aktuell.de.selfhtml.org/links/services.htm#diverse_german.

Zuletzt zeige ich Dir noch, wie man den aktuellen Wert eines <select> richtig abfragt. Die von Dir verwendete Methode ist naemlich kaputt, d.h. sie funktioniert nur, wenn der Browser Dir gnaedig gestimmt ist.

if (f.Site.options[f.Site.selectedIndex].value == "...") {
        alert("Please choose your Site!");
        document.support.Site.focus();
        return false;
    }

wobei f so belegt sein muss, wie oben gezeigt.

HTH && So long
So long

--