Почему JS не подключился к HTML?
Всё работало, но удалил какой то элемент в head станицы (сам появился, не помню что за он, может и не в нём дело) через консоль в инспекторе браузера. И теперь вроде всё верно, а js не видит? Что это за магия) Скрин с расположением файлов:
И сам код:
let buttonSendForm = document.getElementsByClassName('buttonSend');
buttonSendForm.onclick = () => {
let user = makeUserObject();
if (validateUser(user) == true) {
delete user["repeatPassword"];
sendDataForm(user);
}
}
function makeUserObject() {
let user = {};
let fieldsForm = document.getElementsByClassName("field");
let fieldsRadio = document.getElementsByClassName("fieldRadio");
for (let i = 0; i < fieldsForm.length; i++) {
let name = fieldsForm[i].name;
let value = fieldsForm[i].value;
user[name] = value;
}
for (let i = 0; i < fieldsRadio.length; i++) {
if (fieldsRadio[i].checked) {
let name = fieldsRadio[i].name;
let value = fieldsRadio[i].value;
user[name] = value;
break;
}
}
return user;
}
function validateUser(user) {
// regExp
let templateFullName = /^([a-zA-Z]+)$|^([а-яА-ЯёЁ]+)$/;
let templateLoginAndPassword = /^[a-zA-Z0-9_]+$/;
let templateEmail = /^[\w_.]{3,}@([a-z]{2,})\.[a-z]{2,4}$/;
let textErrors = document.getElementsByClassName("divInfo");
let statusOperation = false;
if (templateFullName.test(user.name) != true) {
textErrors.innerHTML = "Name error";
} else if (templateFullName.test(user.middleName) != true) {
textErrors.innerHTML = "Error in middle name";
} else if (templateFullName.test(user.lastName) != true) {
textErrors.innerHTML = "Last name error";
} else if (templateLoginAndPassword.test(user.login) != true) {
textErrors.innerHTML = "Error in login";
} else if (templateLoginAndPassword.test(user.password) != true) {
textErrors.innerHTML = "Error in password";
} else if (user.password != user.repeatPassword) {
textErrors.innerHTML = "Passwords aren't the same";
} else if (templateEmail.test(user.email) != true) {
textErrors.innerHTML = "Error in email";
} else {
statusOperation = true;
textErrors.innerHTML = "";
}
return statusOperation;
}
function sendDataForm(user) {
let json = JSON.stringify(user);
let infoLoad = document.getElementsByClassName("divInfo");
/* Настройка AJAX запроса */
let xhr = new XMLHttpRequest();
xhr.open("POST", "/systempark/mainservlet");
xhr.setRequestHeader("Content-type", "application/json; charset=UTF-8");
// xhr.setRequestHeader("Page-Client", "register");
xhr.send(json);
console.log("Sent json: " + json);
/* Обработка ответа с сервера */
xhr.onload = () => {
console.log("Ответ сервера получен, статус - " + xhr.status);
if (xhr.status == 200 || xhr.status == 304) {
let resultOperation = Number(xhr.response);
console.log("resultOperation = " + resultOperation);
if (resultOperation === -1) {
infoLoad.innerHTML = "Пользователь с таким логином или email существует!";
} else if (resultOperation === 1) {
alert("Ваш аккаунт создан! Нажмите ОК - для перехода на страницу входа");
window.location.href = 'login.html';
} else if (resultOperation === 0) {
alert("Ошибка операции на сервере");
}
} else {
alert("ERROR, status: " + xhr.status + ", statusText: " + xhr.statusText);
}
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>Sign Up</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/reset.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<header>
<h1>Sign Up</h1>
</header>
<main>
<section id="sectionRegistration">
<form id="formRegistration">
<div class="paragraphForm">
<label for="name"> Name: </label>
<input type="text" name="name" id="name" class="field"><br>
</div>
<div class="paragraphForm">
<label for="middleName">Middle name:</label>
<input type="text" name="middleName" id="middleName" class="field">
</div>
<p class="paragraphForm">
<label for="lastName">Last name:</label>
<input type="text" name="lastName" id="lastName" class="field">
</p>
<p class="paragraphForm">
<label for="login">Desired Login:</label>
<input type="text" name="login" id="login" class="field">
</p>
<p class="paragraphForm">
<label for="password">Desired Password:</label>
<input type="password" name="password" id="password" class="field">
</p>
<p class="paragraphForm">
<label for="repeatPassword">REPEAT Password:</label>
<input type="password" name="repeatPassword" id="repeatPassword" class="field">
</p>
<p class="paragraphForm">
<label for="email">Email:</label>
<input type="email" name="email" id="email" class="field">
</p>
<p class="paragraphForm">
Role:
<label for="roleOwner"> OWNER </label>
<input type="radio" name="role" value="owner" id="roleOwner" class="fieldRadio field">
<label for="roleForester"> FORESTER </label>
<input type="radio" name="role" value="forester" id="roleForester" checked class="fieldRadio field">
</p>
</form>
<!--ОТПРАВИТЬ-->
<input class="buttonSend" type="submit" name="sendForm" value="Sign Up" id="registerButton">
<!--НАЗАД-->
<div class="buttonBack"><a href="systemPark.html"> Return Back </a></div>
<!--DIV с ошибками из формы-->
<div class="divInfo"></div>
</section>
</main>
<footer></footer>
<script type="text/javascript" charset="UTF-8" src="js/registration.js"></script>
</body>
</html>
