Skip to content

Commit 953bf3c

Browse files
committed
done lab 4
1 parent 7451e30 commit 953bf3c

3 files changed

Lines changed: 131 additions & 0 deletions

File tree

.DS_Store

0 Bytes
Binary file not shown.

lab4/index.html

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>Document</title>
8+
</head>
9+
<body>
10+
<h1> Sign Up Form </h1>
11+
12+
<fieldset>
13+
<legend>Sign Up</legend>
14+
First Name: <input type="text"><br>
15+
Last Name: <input type="text"><br>
16+
Email: <input type="text"><br>
17+
Phone Number:<input type="text"><br><br>
18+
Zip Code: <input type="text" id="zipcodesInput"><br>
19+
City: <p id="city"></p>
20+
<br>
21+
Latitude: <p id="latitude"></p>
22+
<br>
23+
Longitude: <p id="longitude"></p>
24+
<br><br>
25+
State: <select id="statesSelect"></select><br>
26+
Select a County: <select></select><br>
27+
28+
Desired Username: <input type="text" id="usernameInput">
29+
<p id="userText"></p>
30+
<br>
31+
Password: <input type="password" id="passInput">
32+
<p id="suggestPassword"></p>
33+
<br>
34+
Type Password Again: <input type="password"><br>
35+
<input type="submit" value="Sign up!">
36+
</fieldset>
37+
38+
<script src="script.js"></script>
39+
</body>
40+
</html>

lab4/script.js

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
2+
async function setUpForm(){
3+
try{
4+
let statesResponse = await fetch("https://csumb.space/api/allStatesAPI.php");
5+
6+
if(!statesResponse.ok){
7+
throw new Error("Response failed");
8+
}
9+
let statesData = await statesResponse.json();
10+
console.log(statesData);
11+
12+
let statesSelect = document.querySelector("#statesSelect");
13+
14+
for(let stateData of statesData){
15+
let stateOption = document.createElement("option");
16+
stateOption.id = stateData.usps;
17+
stateOption.value = stateData.usps;
18+
stateOption.textContent = stateData.state;
19+
20+
statesSelect.appendChild(stateOption);
21+
}
22+
23+
} catch(apiError){
24+
console.error(apiError);
25+
}
26+
27+
}
28+
29+
setUpForm();
30+
31+
document.querySelector("#zipcodesInput").addEventListener("change", zipCode);
32+
33+
async function zipCode(){
34+
let userZip = document.querySelector("#zipcodesInput").value;
35+
console.log(userZip);
36+
try{
37+
let zipcodeResponse = await fetch("https://csumb.space/api/cityInfoAPI.php?zip="+userZip);
38+
let zipcodeData = await zipcodeResponse.json();
39+
let cityText = document.querySelector("#city");
40+
let latitudeText = document.querySelector("#latitude");
41+
let longitudeText = document.querySelector("#longitude");
42+
43+
cityText.textContent = zipcodeData.city;
44+
latitudeText.textContent = zipcodeData.latitude;
45+
longitudeText.textContent = zipcodeData.longitude;
46+
47+
}catch(zipError){
48+
console.error(zipError);
49+
}
50+
51+
52+
}
53+
54+
document.querySelector("#passInput").addEventListener("focus", passwordSuggestion);
55+
56+
async function passwordSuggestion(){
57+
try{
58+
let passSugResponse = await fetch("https://csumb.space/api/suggestedPassword.php?length=8");
59+
let passSugData = await passSugResponse.json();
60+
61+
let sugPass = document.querySelector("#suggestPassword");
62+
63+
sugPass.textContent = passSugData.password;
64+
65+
}catch(error){
66+
console.error(error);
67+
}
68+
}
69+
70+
document.querySelector("#usernameInput").addEventListener("change",usernameChecker);
71+
72+
async function usernameChecker(){
73+
try{
74+
let userCheck = document.querySelector("#usernameInput").value;
75+
console.log(userCheck)
76+
let userResponse = await fetch("https://csumb.space/api/usernamesAPI.php?username="+ userCheck);
77+
let userData = await userResponse.json();
78+
console.log(userData)
79+
80+
if(userData.available){
81+
document.querySelector("#userText").textContent = "available";
82+
}
83+
else{
84+
document.querySelector("#userText").textContent = "not available";
85+
}
86+
87+
88+
}catch(error){
89+
console.error(error);
90+
}
91+
}

0 commit comments

Comments
 (0)