2014-04-03 32 views
0

我將用戶添加到列表並驗證電子郵件,並嘗試添加錯誤類,當電子郵件無效,但它無法正常工作。我能找到問題的根源在那裏,我做錯了將類添加到javascript元素與電子郵件驗證

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

回答

1

要定義emaildocument.getElementById('email').value,但隨後要針對email.value測試。改變這種

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

這個

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

難道是因爲你拼寫錯了errorclass

在if語句的else一部分,您應該第一行更改爲

email.className += 'errorClass';

+0

它憑着工作http://jsfiddle.net/RQt5R/17/ – user3282116

+0

這個怎麼樣? http://jsfiddle.net/RQt5R/19/ –

+0

當我嘗試xyz.xyz它不驗證..http://jsfiddle.net/RQt5R/21/ – user3282116