如何比较jquery中的captcha会话值?

时间:2013-12-17 06:33:05

标签: jquery session

我有一个表单在客户端通过jquery进行验证,我想比较验证码的会话值和输入值。但我不知道

  1. 如何获取验证码的会话值和

  2. 如何比较会话值和输入?

  3. 这就是我比较会话的方式,但它没有任何不同,对于错误和正确的值,它说错了。我通过这段代码得到会话值:

     $('#captchaimg').val()
    

    但当然错了!

    if(!($('#6_letters_code').val() == $('#captchaimg').val())){
    alert('error');
    $('#6_letters_code').parent().parent().find('.form-error').html(" error");
    err++;
     }
    

    这是我的验证码:

    <img src="captcha_code_file.php?rand=<?php echo rand(); ?>" id="captchaimg" />
    

    和我的输入框:

    <input id="6_letters_code" name="6_letters_code" type="text"  class="form-input"/>
    

2 个答案:

答案 0 :(得分:1)

  1. 在脚本文件中获取会话变量
  2. 在Viewbag中获取会话值,如 -

       @ViewBag.captchaimg = Session["captchaimg"];
    

    将其放在视图的底部

    <script>
        var CAPTCHAIMG_URL = "@ViewBag.captchaimg";
    </script>
    

    现在您可以在脚本文件中抓取此值

    2在你的脚本文件中

    var myval= $("input[id=test]").val();
    if (myval == CAPTCHAIMG_URL )
        alert("match");
    

    这里test是你输入的id。如果它有助于标记其他人:)

答案 1 :(得分:1)

img标签没有值。这就是你的代码无效的原因。您可能需要从php脚本中将图像“value”发送到jquery 如果php将图像“value”回显到img url(就像你的例子那样),那么就有可能得到这个值。

编辑:

if(!(sessionData == $('#captchaimg').val())){
  alert('error');
  $('#6_letters_code').parent().parent().find('.form-error').html(" error");
  err++;
}