Hilfe & Wissen Wie erstelle ich ein Anmeldeformular wo ich zwischen einzelnen Listen wählen kann?
Wie erstelle ich ein Anmeldeformular wo ich zwischen einzelnen Listen wählen kann?
Erstellen sie ein Formular wie in Wie erstelle ich ein Anmeldeformular zur Einbindung in meine Website? beschrieben.
Das Formular sieht dann in etwas so aus:
<html>
<head>
<title></title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body>
<script src="//nextgen.kajomigenerator.de/static/js/app_kajomi_helper.js?v=3.1"></script>
<script>
var signature = [[raw kjm.json_dumps(kjm.signature('POST', '/signature/users', 'listnum=1&x_kjm_fix=listnum&email=')) ]];
var webform = new KajomiWebform({"primaryColor":"#D40000","fontSize":"14px","fontFamily":"Roboto","listnum":"1","type":"subscribe"});
webform.addSignature(signature);
webform.push({"mapping": "email", "label": "", "placeholder": "E-Mail", "type": "input", "value": "", "required": "required", "checked": "unchecked", "guid": "ge4f3", "validation": [{"regex": "^[^@]+@[^@]+.[^@]+$"}]});
webform.push({"mapping": "", "label": "", "placeholder": "", "type": "button", "value": "Subscribe", "required": "optional", "checked": "unchecked", "guid": "gd7e6", "validation": [{"regex": "^.{1,}$"}]});
webform.addValue('email', [[raw kjm.json_dumps(%email%) ]]);
var translate = webform.trans.translation
webform.show();
</script>
</body>
</html>
Wollen wir nun ein Select-Feld hinzufügen um zwischen Liste 1 und 2 zu wechseln brauchen wir nun mehrere Signaturen wir fügen folgenden Code unterhalbe von var signature
ein
var signature_2 = [[raw kjm.json_dumps(kjm.signature('POST', '/signature/users', 'listnum=2&x_kjm_fix=listnum&email=')) ]];
Nun fügen wir ein Select Feld hinzu:
webform.push({"mapping": "", "label": "", "placeholder": "", "type": "select", "value": "-- Bitte Liste auswählen --=;Newsletter-1=1;Newsletter-2=2", "required": "required", "checked": "unchecked", "guid": "ge2b4", "validation": [{"regex": "^.{1,}$"}]})
Nun müssen wir beim Klick auf den Button einfach nur je die Signatur und die Listnum austauschen, je nachdem welche Liste ausgewählt wurde. Der Button hat die guid:gd7e6
var buttonClick = document.getElementById('gd7e6').onclick;
document.getElementById('gd7e6').onclick = (event) => {
// nun die Liste auslesen mittels der guid die oben gesetzt wurde
var listnum = document.getElementById('ge2b4').querySelector('select').value;
if (listnum == 1) {
// just call addSignatur
webform.addSignature(signature);
} else if (listnum == 2) {
webform.addSignature(signature_2);
}
return buttonClick(event)
}
Das ganze sieht nun wie folgt aus:
<html>
<head>
<title></title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body>
<script src="//nextgen.kajomigenerator.de/static/js/app_kajomi_helper.js?v=3.1"></script>
<script>
var signature = [[raw kjm.json_dumps(kjm.signature('POST', '/signature/users', 'listnum=1&x_kjm_fix=listnum&email=')) ]];
var signature_2 = [[raw kjm.json_dumps(kjm.signature('POST', '/signature/users', 'listnum=2&x_kjm_fix=listnum&email=')) ]];
var webform = new KajomiWebform({"primaryColor":"#D40000","fontSize":"14px","fontFamily":"Roboto","listnum":"1","type":"subscribe"});
webform.addSignature(signature);
webform.push({"mapping": "email", "label": "", "placeholder": "E-Mail", "type": "input", "value": "", "required": "required", "checked": "unchecked", "guid": "ge4f3", "validation": [{"regex": "^[^@]+@[^@]+.[^@]+$"}]});
webform.push({"mapping": "", "label": "", "placeholder": "", "type": "select", "value": "-- Bitte Liste auswählen --=;Newsletter-1=1;Newsletter-2=2", "required": "required", "checked": "unchecked", "guid": "ge2b4", "validation": [{"regex": "^.{1,}$"}]})
webform.push({"mapping": "", "label": "", "placeholder": "", "type": "button", "value": "Subscribe", "required": "optional", "checked": "unchecked", "guid": "gd7e6", "validation": [{"regex": "^.{1,}$"}]});
webform.addValue('email', [[raw kjm.json_dumps(%email%) ]]);
var translate = webform.trans.translation
webform.show();
var buttonClick = document.getElementById('gd7e6').onclick;
document.getElementById('gd7e6').onclick = (event) => {
// nun die Liste auslesen
var listnum = document.getElementById('ge2b4').querySelector('select').value;
if (listnum == 1) {
// just call addSignatur
webform.addSignature(signature);
} else if (listnum == 2) {
webform.addSignature(signature_2);
}
return buttonClick(event)
}
</script>
</body>
</html>
Um das ganze einzubinden siehe hier unter Formular in Ihre Website einbinden
: Wie erstelle ich ein Anmeldeformular zur Einbindung in meine Website?