Wykonuję sprawdzanie formularza po stronie klienta, aby sprawdzić, czy hasła pasują do siebie. Ale funkcja sprawdzania poprawności zawsze zwraca wartość undefined
.Zwracanie wartości boolowskiej w funkcji JavaScript
function validatePassword(errorMessage)
{
var password = document.getElementById("password");
var confirm_password = document.getElementById("password_confirm");
if(password.value)
{
// Check if confirm_password matches
if(password.value != confirm_password.value)
{
return false;
}
}
else
{
// If password is empty but confirm password is not
if(confirm_password.value)
{
return false;
}
}
return true;
}
Należy pamiętać, że validatePassword
jest wywoływana z funkcji składowej obiektu Form.
function Form(validation_fn)
{
// Do other stuff
this.submit_btn = document.getElementById("submit");
this.validation_fn = validation_fn;
}
Form.prototype.submit = funciton()
{
var result;
if(this.validation_fn)
{
result = this.validation_fn();
}
//result is always undefined
if(result)
{
//do other stuff
}
}
Ta funkcja nigdy nie zwróci 'niezdefiniowanych'. Zdefiniuj * "jest wywoływana z funkcji składowej obiektu Form." * –
po prostu naciśnij CTRL + SHIFT + J - sprawdź, czy błąd Jeśli tak, opublikuj tutaj, Jeśli nie, otwórz debugger i uruchom go. –
@AnilShanbhag Nie zwraca żadnego błędu. Otworzyłem debuggera, a kiedy przejdę przez ten kod, widzę, że wynik jest ustawiony jako "niezdefiniowany". – tryurbest