I. index.html

1
<!DOCTYPE html>
2
<html lang="es">
3
4
<head>
5
6
 <meta charset="UTF-8">
7
 <meta name="viewport" content="width=device-width">
8
9
 <title>Servicio que procesa un formulario</title>
10
11
</head>
12
13
<body>
14
15
 <h1>Servicio que procesa un formulario</h1>
16
17
 <form id="formulario">
18
19
  <p>
20
   <label>
21
    Saludo:
22
    <!-- Como este input tiene name="saludo", su valor se recupera en el
23
     servidor con recibeTexto("saludo") -->
24
    <input name="saludo">
25
   </label>
26
  </p>
27
28
  <p>
29
   <label>
30
    Nombre:
31
    <!-- Como este input tiene name="nombre", su valor se recupera en el
32
     servidor con recibeTexto("nombre") -->
33
    <input name="nombre">
34
   </label>
35
  </p>
36
37
  <p><button type="submit">Procesa</button></p>
38
39
 </form>
40
41
 <script type="module">
42
43
  import { consume } from "./js/lib/consume.js"
44
  import { enviaFormRecibeJson } from "./js/lib/enviaFormRecibeJson.js"
45
  import { muestraError } from "./js/lib/muestraError.js"
46
47
  formulario.addEventListener("submit", submit)
48
49
  /**
50
   * @param {Event} event
51
   */
52
  async function submit(event) {
53
   try {
54
    event.preventDefault()
55
    const respuesta = await consume(
56
     enviaFormRecibeJson(
57
      "php/procesa.php", formulario))
58
    const json =
59
     await respuesta.json()
60
    alert(json)
61
   } catch (error) {
62
    muestraError(error)
63
   }
64
  }
65
66
 </script>
67
68
</body>
69
70
</html>
skip_previous skip_next