2014-07-26 218 views
-1

我正在做一項工作,我們需要使用dom 2來驗證一些用戶輸入,但是我很難獲得基礎知識。之間我的教授口音,可怕的書面它很難做的事情了,但是這個代碼我寫了Javascript dom 2基礎知識

<!DOCTYPE html> 
<html> 
<head> 
    <title>Form checking</title> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

    <style type="text/css"> 
     span{ 
      visibility: hidden; 
      color: red; 
     } 
    </style> 
    <script> 
     function invalid(event){ 
      var val = event.target.value; 
      var regex = /^\d{3}-\d{3}-\d{4}$/; 
      if(val.match(regex)) 
       document.getElementById("error").style.visibility = hidden; 
      else 
       document.getElementById("error").style.visibility = visible; 
     } 
    </script> 
</head> 
<body> 

    <span id="error">Should be in form xxx-xxx-xxxx</span><br> 

    Phone Number: <input type="text" id="phoneNumber"> 

    <script> 
     var pn = document.getElementById("phoneNumber"); 
     pn.addEventListener("blur", invalid, false); 
    </script> 

</body> 
</html> 

跟隨他的筆記準確,或儘可能接近,因爲我已經能夠破譯,但我不能甚至略有讓它發揮作用,更不用說試圖完成這項任務。有人可以指出它有什麼問題嗎?並且請保持簡單我只參加了兩週的課程,所以我幾乎無所事事。

+0

什麼是'hidden',什麼是'visible'。你的意思是使用字符串,而不是變量? – elclanrs

+0

他們的CSS關鍵字,部分可見性。隱藏將導致文本不被顯示並且可見將導致它們被顯示。我不確定他們的內部工作原理,但我之前使用過它們,並且我知道這是使用它們並獲得我想要的效果的正確方法,至少是我教過的方式。 – user3878794

+0

是的,它們是CSS關鍵字。但是,您現在正在'

0

在這裏,你去..修正了一些語法錯誤和其他的東西:

function invalid(event){ 
    var val = event.target.value; 
    var regex = /^\d{3}-\d{3}-\d{4}$/; 
    if(!val.match(regex)){ 
     document.getElementById("error").style.visibility = 'visible'; 
    } else { 
     document.getElementById("error").style.visibility = 'hidden'; 
    } 
} 
    var pn = document.getElementById("phoneNumber"); 
    pn.addEventListener("blur", invalid, false); 

工作演示:

http://jsfiddle.net/x84J2/24/

+0

哦..我開始時沒有答案:|他們都來自哪裏:S – adaam