Добавление класса в элемент javascript с проверкой электронной почты

0

Я добавляю пользователя в список и проверяю адрес электронной почты и пытаюсь добавить класс ошибки, когда адрес электронной почты недействителен, но он не работает должным образом. Я могу найти причину, по которой я делаю это неправильно

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;
}
Теги:

2 ответа

1
Лучший ответ

вы определяете email как document.getElementById('email').value, но затем вы тестируете на email.value. Изменить это

var email = document.getElementById('email').value;

к этому

var email = document.getElementById('email');
0

Может ли это быть из-за того, что вы неправильно errorclass ошибку?

В else части оператора if вы должны изменить первую строку на

email.className += 'errorClass';

  • 0
    Это работа ds jsfiddle.net/RQt5R/17
  • 0
    Как насчет этого? jsfiddle.net/RQt5R/19
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню