javascript - 第二次单击按钮时验证不起作用

标签 javascript jquery html email

我正在将用户名和电子邮件添加到用户列表中,并在添加时验证电子邮件。页面第一次加载时验证正在工作,如果我尝试第二次输入无效的电子邮件并单击添加按钮,则它不起作用。

<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>

<script type="text/javascript">
function addUser(){
    var list = document.getElementById('users');
    var username =document.getElementById('username').value;
    var email = document.getElementById('email');
    var entry = document.createElement('li');
    if (email.value != '') 
    {
        reg = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/;
        if (reg.test(email.value) == true) {
            entry.appendChild(document.createTextNode(username + ' ' + email.value));
            list.appendChild(entry);
            return false;
        }
        else {
            email.className += 'errorclass';
            return false;                             
        }
    }
    else{
        alert("Please Enter Email Id");
        return false;
    }
}
</script>
<style>
.errorclass{
    border:1px red solid;
}
</style>

最佳答案

每次出现验证错误时,您都将“errorclass”添加到电子邮件类中。所以第二次是“errorclasserrorclass”,没有在css中定义。

用途:

email.setAttribute('class','errorclass')

关于javascript - 第二次单击按钮时验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841965/

相关文章:

javascript - 有没有办法用 aws-sdk 获取已删除的 s3 对象的先前版本?

javascript - 使用 jQuery 在悬停时显示菜单子(monad)元素

java - 使用 JSoup 抓取 Google 天气结果

javascript - 绑定(bind)以添加到backbone.js集合

javascript - 将字符串转换为正则表达式

javascript - oncontextmenu 的替代方案 - javascript

javascript - 支持土耳其语输入的文本框

javascript - 使用可拖动的 jQuery 方法并隐藏 div 上的滚动条?

javascript - 在Ang-JS中的ng-if中使用带有参数的函数

php - 如何从原始 HTML 文件中提取数据?