bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


introduccio_javascript

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
introduccio_javascript [2022/12/16 16:30]
enric_mieza_sanchez continuacio jquery
introduccio_javascript [2023/12/04 00:05] (actual)
enric_mieza_sanchez [Exercici de login i registre]
Línia 14: Línia 14:
   * [[https://www.w3schools.com/js/default.asp|Javascript a W3Schools]]   * [[https://www.w3schools.com/js/default.asp|Javascript a W3Schools]]
   * [[https://www.w3schools.com/jS/js_objects.asp|Objectes de Javascript]]. Equivalen als diccionaris o arrays associatius d'altres llenguatges.   * [[https://www.w3schools.com/jS/js_objects.asp|Objectes de Javascript]]. Equivalen als diccionaris o arrays associatius d'altres llenguatges.
-  * [[https://www.w3schools.com/jquery/jquery_get_started.asp|Afegint jQuery]] 
   * [[https://www.w3schools.com/js/js_htmldom.asp|DOM del browser: Document-Object Model]]   * [[https://www.w3schools.com/js/js_htmldom.asp|DOM del browser: Document-Object Model]]
 +  * jQuery a bytes.cat: [[jQuery]].
 +  * [[https://www.w3schools.com/jquery/jquery_get_started.asp|jQuery a W3Schools]]
  
-Algunes referències ràpides:+Comentaris ràpids per entrar a Javascript:
   * ''var'' era la manera de definir variables abans del 2015 en Javascript.   * ''var'' era la manera de definir variables abans del 2015 en Javascript.
   * ''let'' és la manera de definir variables des del 2015 endavant.   * ''let'' és la manera de definir variables des del 2015 endavant.
   * Un ''Object'' de Javascript és com un diccionari, només que pot emmagatzemar funcions, a part de variables primitives.   * Un ''Object'' de Javascript és com un diccionari, només que pot emmagatzemar funcions, a part de variables primitives.
-  * Podem fer proves de Javascript a la consola del //browser//:<code>Firefox -> Eines -> Eines del navegador -> Web Developer Tools -> Consola</code>+  * Podem fer proves de Javascript a la consola del //browser//:<code>Firefox -> Mes eines -> Web Developer Tools -> Consola</code>
   * La consola de JS del //browser// ens permetrà depurar amb molta facilitat ja que podem inspeccionar les variables en qualsevol moment.   * La consola de JS del //browser// ens permetrà depurar amb molta facilitat ja que podem inspeccionar les variables en qualsevol moment.
  
Línia 72: Línia 73:
 <file html exemple.html> <file html exemple.html>
 <h1>El meu nom</h1> <h1>El meu nom</h1>
-<p>El meu nom és:<span id="nom"></p>+<p>El meu nom és:<span id="nom"></span></p>
 <p>Nom: <input id="nameInput" /></p> <p>Nom: <input id="nameInput" /></p>
 </file> </file>
Línia 78: Línia 79:
 Fes un arxiu HTML amb el contingut anterior, obre la consola de Javascript com s'explica més amunt, i executa les ordres a la consola: Fes un arxiu HTML amb el contingut anterior, obre la consola de Javascript com s'explica més amunt, i executa les ordres a la consola:
 <code javascript> <code javascript>
-var nom = document.getElementById("nameInput"); +var elem = document.getElementById("nameInput"); 
-console.log(nom.value) +console.log(elem.value) 
 </code> </code>
  
 Si no heu escrit res dins el input text us hauria de sortir ''<empty string>'', però si escriviu alguna cosa a dins i executeu de nou, us hauria de sortir el què hagueu escrit: Si no heu escrit res dins el input text us hauria de sortir ''<empty string>'', però si escriviu alguna cosa a dins i executeu de nou, us hauria de sortir el què hagueu escrit:
 <code javascript> <code javascript>
-console.log(nom.value) +console.log(elem.value) 
 </code> </code>
  
 Si ara volem mostrar el nostre nom dins d'un element HTML (en aquest cas, el ''SPAN id="nom"'', ho podem fer amb: Si ara volem mostrar el nostre nom dins d'un element HTML (en aquest cas, el ''SPAN id="nom"'', ho podem fer amb:
 <code javascript> <code javascript>
-document.getElementById("nom").innerHTML = nom.value; +document.getElementById("nom").innerHTML = elem.value;
 </code> </code>
  
Línia 110: Línia 111:
 Part 1 - HTML i login: Part 1 - HTML i login:
  
-  - Crea una pàgina HTML amb 2 formularis: +  - Crea una pàgina HTML amb 2 formularis amb diferents colors de fons
-    * Login: amb username, password botó //submit//+    * **Formulari de Login**: amb usuari contrasenya
-    * Registre: amb username, email, password i botó //submit//.+    * **Formulari de Registre**: amb usuari, email, contrasenya.
   - Defineix un [[https://www.w3schools.com/jS/js_objects.asp|Object de JS]], a mode de diccionari, amb dos usuaris amb contrasenya. Fes-ho en una variable global que ens faciliti després afegir més usuaris.   - Defineix un [[https://www.w3schools.com/jS/js_objects.asp|Object de JS]], a mode de diccionari, amb dos usuaris amb contrasenya. Fes-ho en una variable global que ens faciliti després afegir més usuaris.
-  - Busca com fer que els botons de //submit// no recarreguin la pàgina. +  - Assegura'que els botons no recarreguin la pàgina (és suficient amb no posar tag <form>)
-  - Afegeix una funció ''fer_login()'' dins algun tag ''<script>'' dins la pàgina. +  - Afegeix una funció ''fer_login()'' dins un tag ''<script>'' al final de la pàgina. 
-  - Crida la funció ''fer_login()'' al clicar el botó de //submit// del formulari de login. +  - Crida la funció ''fer_login()'' al clicar el botó del formulari de login (amb l'atribut ''onclick'')
-  - Comprova si l'usuari i contrasenya coincideix amb algun dels usuaris que tenim al diccionari. Mostra un ''alert'' indicant si el resultat del login és exitós o erroni.+  - Comprova si l'usuari i contrasenya coincideix amb algun dels usuaris que tenim al diccionari. Mostra un ''alert'' indicant "Login exitós"Login incorrecte".
  
 Part 2 - Registre d'usuaris: Part 2 - Registre d'usuaris:
-  - Implementa una funció ''registra()'' que es cridi al prémer el botó de //submit// del formulari de registre.+  - Implementa una funció ''registra()'' que es cridi al prémer el botó ''Registra''.
   - Guarda el nom d'usuari, password i email al diccionari que has creat a la part 1.   - Guarda el nom d'usuari, password i email al diccionari que has creat a la part 1.
   - Comprova que ni el nom d'usuari ni l'email no existeixin ja.   - Comprova que ni el nom d'usuari ni l'email no existeixin ja.
-    * En cas positiu, guarda el nom d'usuari, password i email al diccionari que has creat a la part 1, i dóna un missatge informant que l'usuari s'ha enregistrat correctament+    * En cas positiu, guarda el nom d'usuari, password i email al diccionari d'usuaris
-    * En cas negatiu, informa l'usuari que el nom o email ja existeix a la base de dades.+    * En cas negatiu, informa l'usuari de l'error.
   - Comprova que el nou usuari enregistrat funciona si intentem fer login.   - Comprova que el nou usuari enregistrat funciona si intentem fer login.
  
Línia 131: Línia 132:
   - Què passa amb els usuaris registrats si recarreguem la pàgina?   - Què passa amb els usuaris registrats si recarreguem la pàgina?
 </WRAP> </WRAP>
 +
 +<WRAP important>
 +Si has de passar l'autotest:
 +  - Ha d'haver al menys un usuari ''ieti'' amb contrasenya ''cordova''.
 +  - Formulari de login:
 +    - Els camps han de tenir ID= ''usuari'' i ''contrasenya''.
 +    - El botó ha de tenir el text ''Login''.
 +    - Login correcte: mostrem un **//alert// amb el text "Login exitós"**.
 +    - Login incorrecte: mostrem un **//alert// amb el text "Login incorrecte"**.
 +  - Formulari de registre:
 +    - Els camps han de tenir ID= ''reg_usuari'' , ''reg_email'', ''reg_contrasenya_1'' i ''reg_contrasenya_2''.
 +    - El botó ha de tenir el text ''Registra''.
 +    - Si les 2 contrasenyes dels formulari no coincideixen mostrarem un **//alert// amb el text "Error en les contrasenyes"**.
 +    - Si les 2 contrasenyes coincideixen mostrarem un **//alert// amb el text "Nou usuari registrat correctament"**.
 +    - Si el nom d'usuari o l'email ja existeix mostrarem un **//alert// amb text "El nom o l'email ja existeix a la base de dades"**.
 +</WRAP>
 +
  
 </WRAP> </WRAP>
introduccio_javascript.1671208238.txt.gz · Darrera modificació: 2022/12/16 16:30 per enric_mieza_sanchez