jquery代码无法正常工作

时间:2016-12-31 12:06:07

标签: javascript jquery codeigniter jquery-mobile codeigniter-2

我有一张订单,在提交订单之前,用户必须通过验证码才能获得货到付款......

我正在使用jQuery检查验证码是对还是错。

如果输入的验证码错误,我不会让用户使用preventDefault提交表单,并会提示错误。但在输入验证码后,它仍然不允许用户提交订单。

这是我的代码......

//for captcha code
      var captcha = null;
      //check if captcha code is right
      $("#apply_captcha").on("click", function(){
        var captchaUrl = '<?php echo base_url(); ?>index.php/checkout/check_captcha/';
        var captcha = $('#userCaptcha').val(); //user entered value for captcha
          $.ajax({
                url: captchaUrl,
                type: 'POST',
                data: 'captcha='+captcha,
                success: function(result)
                {
                    if(result === "success")
                    {
                        captcha = true;
                        $('#captcha_msg').hide();
                        $('#userCaptcha').css('border', '2px solid green');
                    }
                    else
                    {
                        captcha = false;
                        $('#captcha_msg').text("Sorry, Your captcha is wrong.");
                        $('#captcha_msg').css('color', '#cb2700');
                    }
                }
            });
      });

      $('#orderform').submit(function(e)
      {
          if(!pincode_available)
          {
              alert("Sorry, We are not supplying any product at this area right now.");
              e.preventDefault();
          }
          else if(!captcha)
          {
              alert("Sorry, Your captcha is wrong");
              e.preventDefault();
          }
      });

1 个答案:

答案 0 :(得分:1)

删除&#39;验证码&#39;的var关键字点击&#39;中的变量功能。看起来它在提交函数使用全局变量时创建一个新的局部变量。

P.S:请看问题的评论,看看我们是如何找到解决方案的。

相关问题