मैं Node.js ( फ़ॉर्म ) के लिए फ़ॉर्म लाइब्रेरी का उपयोग कर रहा हूं , जो मेरे लिए बैकएंड पर एक फॉर्म प्रस्तुत करेगा:
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 का सिर्फ एक लंबा तार। फिर मैं निम्नलिखित कोड का उपयोग करके ईजेएस और एक्सप्रेस का उपयोग करके इसे प्रस्तुत करने का प्रयास करता हूं:
res.render('signup.ejs', {
session: loginStatus(req)
, form: signup_form_as_html
});
लेकिन HTML को रेंडर करने पर केवल वह स्ट्रिंग होती है जो मैंने वास्तविक HTML (और इस प्रकार जैसा मैं चाहता हूं) के बजाय ऊपर पोस्ट की है। क्या EJS का उपयोग करके उस स्ट्रिंग को वास्तविक HTML के रूप में प्रस्तुत करने का कोई तरीका है? या मुझे जेड जैसी कोई चीज़ इस्तेमाल करनी पड़ेगी?