dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。
一,模板上增加验证码
<input name="vdcode"id="vdcode" placeholder="请输入验证码" type="text" style="width:100px;">
<img id="vdimgck" onclick="this.src=this.src+'?'" src="/include/vdimgck.php" align="absmiddle"/>
<span id="hiddentxt"style="display:none;color:yellow">验证码正确!</span>
二,js代码
<script>$(function () {$("#vdcode").bind("blur",function () {var vdcode = $('#vdcode').val();if(vdcode!=''){$.post("/plus/ajax_vdcode.php", {'vdcode':vdcode}, function(v){if( v == 2 ){alert("验证码错误!");}else{$("#hiddentxt").show(500);}});}})});</script>
三,ajax后端功能。plus\ajax_vdcode.php
<?php
require_once(dirname(__FILE__).'/guestbook/guestbook.inc.php');
require_once(DEDEINC.'/datalistcp.class.php');
$vdcode = isset($vdcode) ? $vdcode : '';$svali = GetCkVdValue();
//exit( $vdcode.'-'.$svali);if(strtolower($vdcode)!=$svali || $svali==''){// ResetVdValue();echo 2;}else{echo 1;}
四,根据需要,留言模块中也可以增加一个验证码判断。提交留言后,会再做一次判断
$vdcode = isset($vdcode) ? $vdcode : '';$svali = GetCkVdValue();if(preg_match("/4/",$safe_gdopen)){ //判断后台是否打开了留言验证码功能,4表示开。if(strtolower($vdcode)!=$svali || $svali==''){ResetVdValue();ShowMsg('验证码错误!'.$vdcode, '-1');exit();}}
如图