У меня проблема; по какой-то причине моя функция вызывается в начале веб-приложения во время загрузки страницы.Функция, вызванная в начале загрузки страницы - javascript
Мой код выглядит следующим образом
function validateName(element) {
var len = element.value.length;
//checks if the code is than 6 characters
if (len == 0) {
element.style.backgroundColor="red";
if (element.id == "firstname")
{
document.getElementById('firstNameError').style.display = "block";
}
else if (element.id == "lastname") {
document.getElementById('lastNameError').style.display = "block";
}
return true;
} //if == 0
else {
element.style.backgroundColor="green";
if (element.id == "firstname")
{
document.getElementById('firstNameError').style.display = "none";
}
else if (element.id == "lastname") {
document.getElementById('lastNameError').style.display = "none";
}
return false;
} // if != 0
}
Логика этой функции для проверки текстовых полей, когда пользователь вводит свое имя. В основном проблема, с которой я столкнулся, - это как только я открою свою веб-страницу, текстовые поля красные, и скажите: «Ваше имя не может быть пустым!» (который является firstNameError
). Затем, когда я ввожу текст в текстовое поле, он не изменяется, он по-прежнему остается красным и отображает ошибку.
Это, как я звоню функции:
function init() {
var firstName = initToolTip("firstname", "firstnameTip");
var lastName = initToolTip("lastname", "lastnameTip");
var promoCode = initToolTip("promocode", "promocodeTip");
//opens the TOS window when you click 'terms and conditions' link
document.getElementById("clickedTOS").onclick = function() { sAlert(document.getElementById("TOS").innerHTML) };
//checks the length of the promo code
promoCode.onblur = validatePromoCode(promoCode);
//checks the validity of a name (is not blank)
firstName.onblur = validateName(firstName);
lastName.onblur = validateName(lastName);
//document.getElementById('submitButton').onmousedown = validateForm();
}
Я не понимаю, почему его называют, как только загрузки страницы, так как он установлен, будет называться onblur
. может кто-нибудь предложить способы исправить это?
Вы можете описать это в JSfiddle? – Laughing