0

我用 javascript 创建验证码。这是我的代码:

    var a = Math.ceil(Math.random() * 10);
    var b = Math.ceil(Math.random() * 10);
    var c = Math.ceil(Math.random() * 10);       
    变量 d = a + b + c;
    函数 DrawBotBoot(){
        document.write("什么是"+a+"+"+b+"+"+c+"?");
    }    

    函数 ValidBotBoot(){
        var e = document.getElementById('BotBootInput').value;
        如果 (e == d) 返回真;        
        返回假;
    }

    $(函数(){
        $(".commentblogsubmit").click(function()
          {
          if(ValidBotBoot() == false){
            警报(“错误”);    
          }别的{
            alert("成功!!!");
          }
        返回假;
        });
    });

但如果我包括 addthis,警报总是错误
对不起我的英语不好

4

1 回答 1

0

您的代码可能与 addthis 冲突。addthis 中可能使用了 abc 或 d。

简单的解决方法是只使用具有不同、更具描述性的名称的变量。您可以做的另一件事是在绘图函数中包含生成代码并让它返回总和。所以你说

var expected = DrawBotBoot();

然后您可以将该值传递给 validate 函数进行测试。

ValidBotBoot(expected)

这样,变量就保持在您希望它们的范围内。

于 2012-09-15T17:16:42.197 回答