硬汉工作室

搜索
热搜: 活动 交友 discuz

[开发技术] Discuz给手机版加上判断验证码是否正确的小图标

[复制链接]
发表于 2020-7-10 17:02:38 | 显示全部楼层 |阅读模式
直接上图:
2020-07-10_165215.jpg

用户输入完之后,可以判断输入的验证码是否正确,当然了,因为用的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寻求付费支持
Discuz插件商店:http://addon.dismall.com/?@56030.developer
回复

使用道具 举报

QQ|Archiver|手机版|小黑屋|硬汉工作室 ( 冀ICP备13021567号-9 )

GMT+8, 2024-4-26 13:06 , Processed in 0.067353 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表