Я добавляю пользователя в список и проверяю адрес электронной почты и пытаюсь добавить класс ошибки, когда адрес электронной почты недействителен, но он не работает должным образом. Я могу найти причину, по которой я делаю это неправильно
HTML
<form id="myform">
<h2>Add a User:</h2>
<input id="username" type="text" name="username" placeholder="name">
<input id="email" type="text" name="email" placeholder="email">
<button onclick='return addUser();' type="submit">add user</button>
</form>
<h2>UsersList:</h2>
<ul id="users"></ul>
JS
function addUser(){
var list = document.getElementById('users');
var username =document.getElementById('username').value;
var email = document.getElementById('email').value;
var entry = document.createElement('li');
if (email.value != '')
{
reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if (reg.test(email.value) == true) {
entry.appendChild(document.createTextNode(username + ' ' + email));
list.appendChild(entry);
return false;
}
else {
email.className += 'errorclasss';
return false;
}
CSS
.errorclass{
border: 1px red solid;
}
вы определяете email
как document.getElementById('email').value
, но затем вы тестируете на email.value
. Изменить это
var email = document.getElementById('email').value;
к этому
var email = document.getElementById('email');
Может ли это быть из-за того, что вы неправильно errorclass
ошибку?
В else
части оператора if вы должны изменить первую строку на
email.className += 'errorClass';