js点击按钮倒计时---servlet并接收

在制作网站注册时,遇到了 手机验证码的问题,虽然不是做前端的,但是 作业需要,自己还是老实的写了个按钮倒计时的js事件。

主要实现的功能:

  1. 点击下按钮时,开始倒数计时。
  2. 当计数为0的时候,回到原状态,不进行计数
  3. 再次点击进行计数

实现步骤:

  1. 获得id对应的标签
  2. 设置该标签value为number--;从60倒数计时
  3. 计数为0,设置value=原内容,并将number重新赋值为60
  4. 计数不为0就setTimeout重复执行该function
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script language="javascript">
        var $ =function(id){
            return document.getElementById(id);
        };
        var number=60;
        function click1(){
            $("get_pass").value=number+"秒";
            number=number-1;
            //当计数为0的时候,还原内容 并将number=60
if(number<0){
                $("get_pass").removeAttribute("disabled");
                $("get_pass").value="获取验证码";

                number=60;
            }else{
                $("get_pass").setAttribute("disabled",false);
                setTimeout("click1()",1000);
            }

        }
    </script>
</head>
<body>
<input id="get_pass" type="button" class="phone_button" value="获取验证码" onClick="click1()">
</body>
</html>

另一种交互的ajax:

 var InterValObj; //timer变量,控制时间
        var count = 5; //间隔函数,1秒执行
        var curCount;//当前剩余秒数
        var code = ""; //验证码
        var codeLength = 4;//验证码长度
        function sendMessage() {
            curCount = count;
//            var dealType; //验证方式
//            var uid=$("#uid").val();//用户uid
//            if ($("#phone").attr("checked") == true) {
//                dealType = "phone";
//            }
//            else {
//                dealType = "email";
//            }
            //产生验证码
            for (var i = 0; i < codeLength; i++) {
                code += parseInt(Math.random() * 9)+"";
            }
            //设置button效果,开始计时
            $("#get_pass").attr("disabled", "true");
            $("#get_pass").val("请在" + curCount + "秒内输入验证码");
            InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
        //向后台发送处理数据
            $.ajax({
                type: "POST", //用POST方式传输
                url:"RegistServlet?code="+code+"", //目标地址 是一个servlet
                error: function (XMLHttpRequest, textStatus, errorThrown) { },
                success: function (msg){ }
            });
        }
        //timer处理函数
        function SetRemainTime() {
            if (curCount == 0) {
                window.clearInterval(InterValObj);//停止计时器
                $("#get_pass").removeAttr("disabled");//启用按钮
                $("#get_pass").val("重新发送验证码");
                code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
            }
            else {
                curCount--;
                $("#get_pass").val("请在" + curCount + "秒内输入验证码");
            }
        }

        /* 点击验证码改变有验证码的Js事件 */
        function changeImage(){
            /* 调用servlet进行显示 */
            document.getElementById("image").src = "ChecKImageServlet?"+ new Date().getTime();
        }

html 代码:

<input id="get_pass" type="button" class="phone_button" value="获取验证码" onClick="sendMessage()">

记得引入jquery文件:

    <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script>

servlet接收端:

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			String codeString = request.getParameter("code");
			//测试输出
			System.out.println(codeString);

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//相互调用
		doGet(request, response);
	}

在做网站收集验证码的过程中,使用的是阿里大鱼(阿里巴巴的产品),比较可靠,而且速度很快,对于做作业的学生来说不需要什么成本,测试成功,在后期的博文中会给大家 介绍和基本的使用。

时间: 2024-08-17 05:08:18

js点击按钮倒计时---servlet并接收的相关文章

点击按钮 倒计时60秒方可再次点击发送的Js代码

本节内容:Javascript 实现 点击按钮 倒计时60秒方可再次点击发送的效果. 比如,一些网站上的手机短信认证的功能,有类似实现点击按钮后,倒计时60秒才能再次点击发送的效果. 本文用Javascript实现点击按钮后,倒计时60秒才能再次点击发送验证码的功能. 例子: 复制代码代码示例: <input type="button" id="btn" value="免费获取验证码" /><script type="

JS点击按钮弹出窗口

由于没有系统学习过JS,遇到一个需求:点击按钮,弹出一个独立的窗口. 在网上百度了一下,并没有找到满意的结果,最重要的是各种方法很复杂.最终,仔细研究了一下,原来只是需要只要一个简单的函数就能满足自己的需求:window.open(). window.open() 功能:open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 语法: window.open(URL,name,specs,replace) 其中,URL为指定的要打开的页面的url: name,指定target属性或窗

html js点击按钮滚动跳转定位到页面指定位置(DIV)的方法代码

一:通过html锚点实现滚动定位到页面指定位置(DIV):    如果我们要点击实现跳转的地方是一个html锚点,也就是点击一个A标签超链接实现跳转,可以把A标签的href属性直接指向跳转指定位置的div,代码实现思路如下: <a class="banner" href="/schoolFair/registration#nav"> <a href="#abc">点击跳转</a>    <div id=&

js点击按钮获取验证码倒计时

//发送验证码倒计时 var clock = ''; var nums = 60; var btn; $("#btnGetVerCode").click(function () { var flag = true; var phoneNum = $("#txtPhoneNum").val(); if (phoneNum.length == 11 && /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(14[0-9

JS 点击按钮后弹出遮罩层,有关闭按钮

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery弹出层效果</title> <meta content="网页特效,特效代码,jQuery,css特效,Js代码,广告幻灯,图片切换" name="keywords" /> <meta content="

js点击按钮,放大对应图片代码

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <img name="a" src="imgs/index-banner.png"> <img name="b" src="imgs/MORE.png&q

js 点击按钮显示下拉菜单

<li> <a id = "rank" onclick="showGroup()"></a></li><li id = "buttonGroup" style="display: none"> <a href="#"> </a> <a href="#"> </a> </li&

点击按钮出现60秒倒计时js代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

点击按钮,然后实现30S倒计时

点击按钮的之后,按钮进行30S倒计时 HTML <input type="button" id="getCode" name="" value="获取验证码" class="btnCode"/> CSS .btnCode { width: 40%; height: 42px; background: #FFF; color: #323333; font-size: 14px; line-heig