JavaScript/DOM/Document/forms/encoding

Aus SELFHTML-Wiki
< JavaScript‎ | DOM‎ | Document‎ | forms
Wechseln zu: Navigation, Suche

Die Eigenschaft encoding speichert den Wert, der bei der Definition des Formulars im Attribut enctype steht, also zum Beispiel "text/plain".

Beispiel
<html>
<head>
  <title>Test</title>
  <script>
    function CodeTyp () {
      if (document.Testform.action.indexOf("@") > 0) {
        document.Testform.encoding = "text/plain";
      } else {
        document.Testform.encoding = "application/x-www-form-urlencoded";
      }
       return true;
    }
</script>
</head>
<body>

  <form name="Testform" action="mailto:beispiel@example.org" onsubmit="return CodeTyp()">
    <input type="text" size="40" name="Eingabe">
    <input type="submit" value="Absenden">
  </form>

</body>
</html>

Das Beispiel enthält ein Formular. Wenn der Anwender das Formular durch Anklicken des Submit-Buttons abschickt, wird die Funktion CodeTyp() aufgerufen.

Innerhalb der Funktion CodeTyp() wird ermittelt, ob in der action-Angabe des Formulars das Zeichen @ vorkommt, das eine E-Mail-Adresse verrät. Wenn ja, wird der Kodierungstyp auf text/plain gesetzt, ansonsten auf den für CGI-Programme üblichen Kodiertyp application/x-www-form-urlencoded. Die Funktion CodeTyp() gibt true zurück, denn der aufrufende Event-Handler onsubmit im einleitenden <form>-Tag erwartet einen solchen Rückgabewert. Das Formular wird nur abgeschickt, wenn der Rückgabewert true ist.

Um in einer Zeichenkette nach einem oder mehreren Zeichen zu suchen wie im Beispiel mit der Methode indexOf(), lesen Sie den Abschnitt über das string-Objekt.

Beachten Sie: Die Verwendung von mailto: als Zieladresse eines Formulares verursacht häufig Probleme. Im HTML-spezifischen DOM ist der Zugriff auf das enctype-Attribut über die gleichnamige enctype-Eigenschaft definiert, nicht über eine Eigenschaft namens encoding.