Tôi đang sử dụng thư viện Biểu mẫu cho Node.js ( Biểu mẫu ), thư viện này sẽ hiển thị biểu mẫu cho tôi trên chương trình phụ trợ như sau:
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();
Dòng cuối cùng var signup_var signup_form_as_html = signup_form.toHTML();
tạo ra một khối HTML trông như sau:
<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>
Về cơ bản chỉ là một chuỗi HTML dài. Sau đó, tôi cố gắng kết xuất nó bằng EJS và Express bằng mã sau:
res.render('signup.ejs', {
session: loginStatus(req)
, form: signup_form_as_html
});
Nhưng khi kết xuất HTML chỉ đơn giản là chuỗi mà tôi đã đăng ở trên, chứ không phải là HTML thực tế (và do đó là một biểu mẫu như tôi muốn). Có cách nào để làm cho chuỗi đó hiển thị như HTML thực sự bằng cách sử dụng EJS không? Hay tôi sẽ phải sử dụng thứ gì đó giống như Ngọc?