ฉันใช้ไลบรารี Forms สำหรับ Node.js ( Forms ) ซึ่งจะสร้างแบบฟอร์มให้ฉันในแบ็กเอนด์ดังนี้:
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();
บรรทัดสุดท้ายvar signup_var signup_form_as_html = signup_form.toHTML();
สร้างบล็อก HTML ซึ่งมีลักษณะดังนี้:
<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>
โดยทั่วไปเป็นสตริง HTML แบบยาว จากนั้นฉันพยายามแสดงผลโดยใช้ EJS และ Express โดยใช้รหัสต่อไปนี้:
res.render('signup.ejs', {
session: loginStatus(req)
, form: signup_form_as_html
});
แต่ในการแสดงผล HTML เป็นเพียงสตริงที่ฉันโพสต์ไว้ข้างต้นแทนที่จะเป็น HTML จริง (และเป็นรูปแบบตามที่ฉันต้องการ) มีวิธีใดบ้างที่จะทำให้สตริงนั้นแสดงผลเป็น HTML จริงโดยใช้ EJS หรือจะต้องใช้หยกอะไรสักอย่าง?