/
survey.js
47 lines (42 loc) · 1.3 KB
/
survey.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
var JACK = require("jack");
var REFORM = require("reform");
var survey = new REFORM.Form({
firstName: new REFORM.TextField(),
lastName: new REFORM.TextField(),
age: new REFORM.IntegerField(),
email: new REFORM.EmailField({
required: false,
helpText: "I know some people are scared to get spam, so this field is optional."
}),
season: new REFORM.DropdownField({
helpText: "What season is it right now?",
choices: [
["su", "Summer"],
["w", "Winter"],
["sp", "Spring"],
["f", "Fall"]
]
}),
random: new REFORM.TextAreaField({
label: "About me.",
helpText: "Tell the world about anything about yourself!"
}),
submit: new REFORM.Button()
});
exports.app = function (env) {
var resp = new JACK.Response();
var req = new JACK.Request(env);
var form = survey.clone(req.isPost() ? req.POST() : null);
resp.setHeader("Content-Type", "text/html");
if (form.isBound) {
if (form.isValid()) {
resp.write("<p>The form is valid!</p>");
} else {
resp.write("<p>The form is not valid!</p>");
}
}
resp.write('<form method="POST">');
resp.write(form.toHtml("div"));
resp.write('</form>');
return resp.finish();
};