本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码。
1、前端代码 index.html
<!DOCTYPE html> <html> <head> <title>验证码提交自验证</title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <meta http-equiv=\"Content-Language\" content=\"zh-CN\" /> </head> <body> <form action=\"doPost.php\" method=\"POST\"> <div class=\"row\"> <label for=\"username\">用户名</label> <input type=\"text\" name=\"username\" id=\"username\" /> </div> <div class=\"row\"> <label for=\"mod-captcha-code\">验证码</label> <input name=\"code\" id=\"mod-captcha-code\" size=\"6\" class=\"zjcaptcha\" style=\"width:80px\" type=\"text\"/> <img class=\"code-img\" style=\"height:30px;width:80px;\" src=\"createcode.php?t=0\" onclick=\"this.src=this.src.substring(0,this.src.indexOf(\'?\')+1)+Math.random();return false;\" /> <script type=\"text/javascript\" src=\"http://www.zjmainstay.cn/jquery/jquery-1.8.2.min.js\"></script> <div class=\"yzmtips\" style=\"color:red\"></div> </div> <div class=\"row\"> <input type=\"submit\" value=\"提交\" class=\"submitBtn\"/> </div> </form> <script> (function($){ $(document).ready(function(){ $(\".submitBtn\").click(function() { var obj = $(this); $.ajax({ url:\'checkcode.php\', type:\'POST\', data:{code:$.trim($(\"input[name=code]\").val())}, dataType:\'json\', async:false, success:function(result) { if(result.status == 1) { obj.parents(\'form\').submit(); //验证码正确提交表单 }else{ $(\".code-img\").click(); $(\".yzmtips\").html(\'验证码错误!\'); setTimeout(function(){ $(\".yzmtips\").empty(); },3000); } }, error:function(msg){ $(\".yzmtips\").html(\'Error:\'+msg.toSource()); } }) return false; }) }); })(jQuery); </script> </body> </html>
2、后端验证码检测 checkcode.php
<?php /** * 用户验证码验证文件 * @Author:Zjmainstay * @version : 1.0 * @creatdate: 2013-10-4 */ session_start(); echo json_encode(array(\'status\'=>(int)($_SESSION[\"CHECKCODE\"] == $_POST[\'code\']))); exit;
源码下载地址:Ajax实现提交表单时验证码自动验证
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持phpstudy。
本文地址:https://www.stayed.cn/item/2148
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我