パスワードが一致するかどうかを確認するために、クライアントサイドフォームの検証を行っています。しかし、検証関数は常にundefined
を返します。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;
}
validatePassword
は、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
}
}
この関数は 'undefined'を返しません。フォームオブジェクトのメンバ関数から* "を定義してください" * –
ちょうどCTRL + SHIFT + Jを押します - エラーかどうかチェックしますもしあればここに投稿し、そうでなければデバッガを起動して実行してください。 –
@AnilShanbhagエラーを返しません。私はデバッガをオープンしました。コードをステップ実行すると、その結果が 'undefined 'に設定されていることがわかりました。 – tryurbest