我有一个带有验证码的自定义表单。Captcha 不是模块/插件,它只是我编写的自定义。我想使用带有 validate.js / varien form.js 的 ajax(没有页面刷新)来验证验证码,这是 magento 默认验证器。我用validation.add() 编写了jQuery.ajax 功能。我的问题是,validator() 没有等待 ajax 响应(真/假),它的状态为“未定义”并显示错误。
我在下面粘贴了我的代码:
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;
}
}
提前致谢