-
Notifications
You must be signed in to change notification settings - Fork 0
/
form.html
68 lines (56 loc) · 2.86 KB
/
form.html
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Form</title>
<link rel="stylesheet" href="/static/style.css">
<style>
label {
display: block;
}
label, button, h4, p {
margin: 2em 2em 0 2em;
}
</style>
</head>
<body>
<p><a href="/"><< Back to main</a></p>
<p>There's a good article on <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form">form</a> functionality in HTML.</p>
<p>Below are listed several demos on howto handle forms within the framework while <a href="https://github.com/bohdaq/rust-web-server/blob/main/src/app/mod.rs">writing your apps</a>.</p>
<p>You can use these examples for your own implementations.</p>
<h4>Form Method Post Url Encoded Enctype</h4>
<p><a href="https://github.com/bohdaq/rust-web-server/blob/main/src/app/controller/form/url_encoded_enctype_post_method/mod.rs">FormUrlEncodedEnctypePostMethodController</a> controller capable of handling form with method <i>POST</i> and enctype <i>application/x-www-form-urlencoded</i> submission.</p>
<form method="post" action="/form-url-encoded-enctype-post-method" enctype="application/x-www-form-urlencoded">
<label>Field 1:
<input name="field-1" />
</label>
<label>Field 2:
<input name="field-2" />
</label>
<button>Save</button>
</form>
<h4>Form Method Get</h4>
<p><a href="https://github.com/bohdaq/rust-web-server/blob/main/src/app/controller/form/get_method/mod.rs">FormGetMethodController</a> controller capable of handling form with method <i>GET</i> and without enctype specified. Most reliable method for submitting the form, works among all popular browsers.</p>
<form method="get" action="/form-get-method">
<label>Field 1:
<input name="field-1" />
</label>
<label>Field 2:
<input name="field-2" />
</label>
<button>Save</button>
</form>
<h4>Form Method Post Multipart Enctype</h4>
<p><a href="https://github.com/bohdaq/rust-web-server/blob/main/src/app/controller/form/multipart_enctype_post_method/mod.rs">FormMultipartEnctypePostMethodController</a> controller capable of handling form with method <i>POST</i> and <i>multipart/form-data</i> enctype.</p>
<p> Note: Even though such kind of form by spec supports file upload, in practice it won't work, however, server by itself, <a href="https://github.com/bohdaq/rust-web-server/blob/main/src/body/multipart_form_data/tests.rs">supports file upload</a>.</p>
<form method="post" action="/form-multipart-enctype-post-method" enctype="multipart/form-data">
<label>Field 1:
<input name="field-1" />
</label>
<label>Field 2:
<input name="field-2" />
</label>
<button>Save</button>
</form>
</body>
</html>