2014-01-25 91 views
-1

我試圖理解這種輸入校驗的例子,但它似乎並沒有工作。兩個不同的電子郵件輸入不會引發錯誤訊息:HTML5 - 表單輸入檢查

js fiddle

HTML

<label>Email:</label> 
<input type="email" id="email_addr" name="email_addr"> 

<label>Repeat Email Address:</label> 
<input type="email" id="email_addr_repeat" name="email_addr_repeat" oninput="check(this)"> 

JS

function check(input) { 
if (input.value != document.getElementById('email_addr').value) { 
input.setCustomValidity('The two email addresses must match.'); 
    } else { 
    // input is valid -- reset the error message 
    input.setCustomValidity(''); 
} 
} 
+4

這些標籤要素是無用的。它們既不包含輸入,也不包含「for」屬性。 – Quentin

回答

1

你的問題是,在你的jsfiddle有onLoad內部代碼事件處理器。

這樣你check功能(只存在內部onload處理範圍)是不是從你的內聯元素屬性的訪問..

看到http://jsfiddle.net/gaby/LLS8W/1/工作演示在那裏我已經把你的代碼中head見的jsfiddle左上角的選項..