Ich verwende die Formularbibliothek für Node.js ( Formulare ), die im Backend ein Formular für mich wie folgt rendert:
var signup_form = forms.create({
username: fields.string({required: true})
, password: fields.password({required: true})
, confirm: fields.password({
required: true
, validators: [validators.matchField('password')]
})
, email: fields.email()
});
var signup_form_as_html = signup_form.toHTML();
In der letzten Zeile var signup_var signup_form_as_html = signup_form.toHTML();
wird ein HTML-Block erstellt, der wie folgt aussieht:
<div class="field required"><label for="id_username">Username</label><input type="text" name="username" id="id_username" /></div><div class="field required"><label for="id_password">Password</label><input type="password" name="password" id="id_password" /></div><div class="field required"><label for="id_confirm">Confirm</label><input type="password" name="confirm" id="id_confirm" /></div><div class="field"><label for="id_email">Email</label><input type="text" name="email" id="id_email" /></div>
Grundsätzlich nur eine lange HTML-Zeichenfolge. Ich versuche dann, es mit EJS und Express mit dem folgenden Code zu rendern:
res.render('signup.ejs', {
session: loginStatus(req)
, form: signup_form_as_html
});
Beim Rendern des HTML-Codes handelt es sich jedoch lediglich um die Zeichenfolge, die ich oben gepostet habe, und nicht um den tatsächlichen HTML-Code (und damit um ein Formular, wie ich es möchte). Gibt es eine Möglichkeit, diese Zeichenfolge mithilfe von EJS als tatsächliches HTML zu rendern? Oder muss ich so etwas wie Jade verwenden?