キャプチャ付きのカスタムフォームを使用しています。Captchaはモジュール/プラグインではなく、私がカスタム作成したものです。magentoのデフォルトのバリデーターであるvalidate.js/varien form.jsでajax(ページの更新なし)を使用してキャプチャを検証したいと思います。私はvalidation.add()を使用してjQuery.ajax機能を記述しました。私の問題は、validator()がajax respose(true / false)を待機しておらず、ステータスを「undefined」として取得し、エラーを表示していることです。
以下にコードを貼り付けました。
Validation.add('validate-captcha', 'Please enter correct captcha', function (v) {
var cp = isValidCaptcha();
return cp;
});
function isValidCaptcha(){
var captcha_value = jQuery("#security_code").val();
var a = 0;
jQuery.ajax({
type: "POST",
url: "<?php echo $this->getUrl('tqr/index/chkcaptcha'); ?>",
asynchronous:true,
data: { security_code1: captcha_value },
dataType: "html",
success: function(data){
if( data == 1 ){
a = 1;
} else {
a = 2;
}
}
});
if( a == 1 ){
return true;
} else if ( a == 2 ){
return false;
}
}
前もって感謝します