我越來越沒有Javascript錯誤,但代碼什麼也不做......無法驗證用戶輸入 - onkeyup事件不觸發
function registerValidator(target, validator) {
var element = document.getElementById(target);
if (element) {
var validationID = element.id + "_validationResult";
var validationSpan = document.createElement('span');
validationSpan.id = validationID;
element.parentNode.appendChild(validationSpan);
element.onkeyup = function() {
var result = validator(element);
if (result.ok) {
validationSpan.innerHTML = '<img src="/media/valid.gif" width="12" />';
} else {
validationSpan.innerHTML = '<img src="/media/invalid.gif" width="12" />';
if (result.message) {
validationSpan.innerHTML += '<br />' + result.message;
}
}
};
alert(1);
}
}
window.onload = function() {
registerValidator('username', function(element) {
var result = new Object();
alert('validate');
if (element.value.length >= 4) {
result.ok = true;
}
else {
result.ok = false;
result.message = "Too short";
}
return result;
});
alert(2);
}
兩個警報(1和2)正確觸發,但「驗證」警報從不觸發。該功能用於以下元素:
<input type="text" name="username" id="username" />
我已經在谷歌Chrome,火狐3和Internet Explorer嘗試這種8.
必須有別的東西。是否還有更多相關的代碼可以發佈? – 2009-06-24 12:23:38