I am doing a client side form validation to check if passwords match. But the validation function always returns undefined.
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; } Please note that the validatePassword is called from a member function of the Form object.
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 } }
undefined. Please define "is called from a member function of the Form object."undefinednew Form()object, you're either not passing a function, or you're trying to pass one that doesn't yet exist. Have you verified thatvalidatePasswordis even being invoked? Please provide all relevant code. There's nothing here that demonstrates an issue.