直接上图:
用户输入完之后,可以判断输入的验证码是否正确,当然了,因为用的onblur方法,所以得点击旁边空白才行。
需要修改一个文件,手机模板目录下的common/seccheck.htm,
这里找到输入验证码的文本框,name值是seccodeverify,加入onblur事件,如onblur = "checksec(this);",checksec的定义为:
function checksec(o) {
var secverify = o.value;
var modid = "{$_G[basescript]}::{CURMODULE}";
var idhash = "c$sechash";
// 从pc那获取到的检测验证码是否正确的接口
var url = 'misc.php?mod=seccode&action=check&inajax=1&modid=' + modid + '&idhash=' + idhash + '&secverify=' + secverify;
$.get(url, function(o) {
if(o.indexOf('succeed') != -1) { // 结果里有succeed,代表正确,显示绿色对勾
$('#checkresult').html('<img src="'+ IMGDIR + '/check_right.gif" width="16" height="16" class="vm" />');
} else {
$('#checkresult').html('<img src="'+ IMGDIR + '/check_error.gif" width="16" height="16" class="vm" />');
}
}, 'text'); // 官方接口返回的是xml,我这里设置text,直接返回text得了。
}
在验证码文本框的下一行加入:
<a href = "javascript:;">换一个</a><span id = "checkresult"></span>
id值是checkresult的的标签是显示验证码结果的标签,updatesec方法是更换验证码的,定义如下:
function updatesec() {
$('#seccodeverify_$sechash').attr('value', '');
var tmprandom = 'S' + Math.floor(Math.random() * 1000);
$('.sechash').attr('value', tmprandom);
$('#checkresult').html('');
$('.seccodeimg').attr('src', 'misc.php?mod=seccode&update={$ran}&idhash='+ tmprandom +'&mobile=2');
}
完事,收工!
有关PHP系统、Discuz或网站等各种问题,可以联系QQ1069971363寻求付费支持
|