P. Formulario con FormData

Salida

Ábrelo en otra pestaña.

Revísalo en gilpgedit.

1<!DOCTYPE html>
2<html lang="es">
3
4<head>
5
6 <meta charset="UTF-8">
7 <title>FormData</title>
8 <meta name="viewport"
9 content="width=device-width">
10
11</head>
12
13<body>
14
15 <form id="forma"
16 action="javascript:procesa()">
17
18 <h1>FormData</h1>
19
20 <p>
21 <label>
22 Nombre
23 <input name="nombre"
24 type="text">
25 </label>
26 </p>
27
28 <p>
29 <label>
30 Edad
31 <input name="edad"
32 type="number">
33 </label>
34 </p>
35
36 <fieldset>
37 <legend>Pasatiempos</legend>
38 <p>
39 <label>
40 <input type="checkbox"
41 name="pasatiempos[]"
42 value="fut">
43 Futbol
44 </label>
45 </p>
46 <p>
47 <label>
48 <input type="checkbox"
49 name="pasatiempos[]"
50 value="chess">
51 Ajedrez
52 </label>
53 </p>
54 <p>
55 <label>
56 <input type="checkbox"
57 name="pasatiempos[]"
58 value="basket">
59 Basketbol
60 </label>
61 </p>
62 </fieldset>
63
64 <fieldset>
65 <legend>Madrugador</legend>
66 <p>
67 <label>
68 <input type="radio"
69 name="madrugador"
70 value="si">
71 Si
72 </label>
73 <label>
74 <input type="radio"
75 name="madrugador"
76 value="no">
77 No
78 </label>
79 </p>
80 </fieldset>
81
82 <p>
83 <label>
84 Género Musical
85 <select name="generoMusical">
86 <option value="">
87 Sin selección
88 </option>
89 <option value="pop">
90 Pop
91 </option>
92 <option value="reg">
93 Reguetón
94 </option>
95 </select>
96 </label>
97 </p>
98
99 <p>
100 <label>
101 Mi opinión sobre la comida
102 mexicana
103 <textarea name="opinion"
104 rows="10"
105 cols="25"></textarea>
106 </label>
107 </p>
108
109 <p>
110 <button type="submit">
111 Procesar
112 </button>
113 </p>
114
115 </form>
116
117 <script>
118 function procesa() {
119 const data =
120 new FormData(forma)
121
122 alert("Nombre: "
123 + data.get("nombre")
124 )
125
126 alert("Edad: "
127 + parseFloat(data.get("edad"))
128 )
129
130 alert("Madrugador: "
131 + data.get("madrugador")
132 )
133
134 alert("Pasatiempos: "
135 + (
136 data.getAll('pasatiempos[]')
137 .join(", "))
138 )
139
140 alert(" Género Musical: "
141 + data.get("generoMusical")
142 )
143
144 alert("Mi opinión: "
145 + data.get("opinion")
146 )
147
148 }
149 </script>
150
151</body>
152
153</html>
skip_previous skip_next