HTML-Formular dynamisch erzeugen
Bei der Ausgabe eines Empfängerprofils in einem HTML-Formular gibt es nicht nur Texte wie Name oder E-Mail-Adresse, die Sie mit einem Ausgabefeld präsentieren können. Bei Angaben zum Geschlecht ist zum Beispiel eine Auswahlliste viel besser geeignet und für den Abonnementstatus einer Mailing-Liste ist eine Checkbox (Kontrollkästchen) ideal.
Wie Sie in einem Eingabeformular Auswahllisten realisieren, zeigt das vorhergehende Kapitel. Bei der Ausgabe eines bestehenden Profils muss aber der richtige Punkt der Auswahlliste markiert sein. Dazu müssen Sie im HTML-Code das Attribut selected in das entsprechende <option>-Tag einfügen. Ähnlich verhält es sich mit einer Checkbox, hier erzeugt das Attribut checked ein Häkchen. Über Skriptbefehle fügen Sie die Attribute an der richtigen Stelle, abhängig vom Empfängerprofil, ein. Das Beispiel für die Anzeige des Mail-Formats in einer Auswahlliste sieht so aus:
Mail-Format: <select name="MAILTYPE" size="1">
<option value="0" #if( $customerData.MAILTYPE == "0" ) selected #end >
Text
</option>
<option value="1" #if( $customerData.MAILTYPE == "1" ) selected #end >
HTML
</option>
<option value="2" #if( $customerData.MAILTYPE == "2" ) selected #end >
Offline-HTML
</option>
</select><br>
Der Listenpunkt, den der Browser als markiert anzeigt, muss mit dem Attribut selected markiert sein. Die Wenn-Abfrage #if prüft zunächst, ob der im Empfängerprofil gespeicherte Wert zum Listeneintrag passt. Den Wert aus dem Profil rufen Sie mit $customerData.MAILTYPE ab. MAILTYPE ist der Name des Feldes, in dem der OpenEMM den E-Mail-Typ (Text, HTML oder Offline-HTML) eines Empfängers speichert. Besteht eine Übereinstimmung, so fügt der Skriptbefehl den Text vor dem abschließenden #end der Wenn-Abfrage in den HTML-Code ein. Aus
<option value="2" #if( $customerData.MAILTYPE == "2" ) selected #end >
wird damit zum Beispiel
<option value="2" selected >
Das passiert im Beispiel natürlich nur, wenn im Empfängerprofil eine 2 eingetragen ist. Bei einer 1 oder einer 0 entsteht folgendes HTML-Tag:
<option value="2">
Im Endergebnis hat nur das <option>-Tag das Attribut selected, dessen Wert der Angabe im Empfängerprofil entspricht.