1 | <!DOCTYPE html> |
2 | <html lang="es"> |
3 | |
4 | <head> |
5 | <meta charset="UTF-8"> |
6 | <meta name="viewport" |
7 | content="width=device-width"> |
8 | <title>Saludo</title> |
9 | </head> |
10 | |
11 | <body> |
12 | <!-- |
13 | form |
14 | Captura los datos para un |
15 | cálculo. |
16 | action="javascript:calcula()" |
17 | Al activar la forma, se ejecuta |
18 | la función |
19 | calcula() |
20 | de la etiqueta |
21 | <script> |
22 | que aparece más abajo. --> |
23 | <form |
24 | action="javascript:calcula()"> |
25 | <h1>Saludo</h1> |
26 | <!-- |
27 | Los elementos de captura se |
28 | pueden colocan cada uno en un |
29 | <p> --> |
30 | <p> |
31 | <!-- |
32 | label |
33 | Pone el rótulo |
34 | Nombre |
35 | que aparece más abajo, al |
36 | elemento |
37 | input |
38 | que también aparece más abajo. |
39 | --> |
40 | <label> |
41 | Nombre |
42 | <!-- |
43 | input |
44 | Campo de captura. Activa la |
45 | forma al teclear |
46 | «intro» |
47 | cuando tiene el cursor. |
48 | type="text" |
49 | Captura texto |
50 | id="inNombre" |
51 | Identificador del campo de |
52 | captura. Se puede usar desde |
53 | el elemento |
54 | <script> |
55 | más abajo. |
56 | required |
57 | Este campo no se puede quedar |
58 | en blanco. --> |
59 | <input type="text" |
60 | id="inNombre" required> |
61 | </label> |
62 | </p> |
63 | <p> |
64 | <!-- |
65 | button |
66 | Activa la forma al hacerle |
67 | click o presionado la tecla |
68 | espacio cuando tiene el |
69 | tabulador. --> |
70 | <button>Calcular</button> |
71 | </p> |
72 | </form> |
73 | <script> |
74 | /** |
75 | * Función que realiza el cálculo |
76 | * cuando se activa la forma. |
77 | */ |
78 | function calcula() { |
79 | /* Recupera el texto capturado |
80 | * en "inNombre" y lo asigna |
81 | * a la constante "nombre". */ |
82 | const nombre = inNombre.value |
83 | const saludo = saluda(nombre) |
84 | /* Despliega el saludo en un |
85 | * cuadro de diálogo. */ |
86 | alert(saludo); |
87 | } |
88 | |
89 | /** |
90 | * Función que realiza la lógica |
91 | * del cálculo. |
92 | * @param {string} nombre |
93 | */ |
94 | function saluda(nombre) { |
95 | return `Hola ${nombre}.` |
96 | } |
97 | </script> |
98 | </body> |
99 | |
100 | </html> |