title: Returning a boolean value in a JavaScript function
body: <p>I am doing a client side form validation to check if passwords match. But the validation function always returns <code>undefined</code>.</p>
  
  <pre><code>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;
  }
  </code></pre>
  
  <p>Please note that the <code>validatePassword</code> is called from a member function of the Form object.</p>
  
  <pre><code>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
     }
  }
  </code></pre>