【发布时间】:2014-07-18 05:22:22
【问题描述】:
我在我的注册表单中使用免费的 Securimage 包进行验证码。
我正在使用 jScript / AJAX / PHP 在用户键入代码时检查代码,并在输入框旁边输出“不正确”或“正确”,如果它留空或不正确,则给它一个红色边框。
这里的问题是:如果用户首先输入正确的键,然后由于某种原因单击“选择另一个图像” url,键会改变但输入框不会改变,因此不会进行验证,这可能会让用户误以为输入了正确的键,而实际上它已经改变并且应该重新输入。
在验证码输入框中输入内容(keyup)或完成输入(模糊)时调用检查验证码功能。代码如下所示:
$(document).ready(function()
{
var chckcaptcha = function()
{
var captcha = encodeURIComponent($("#captcha").val());
$.ajax(
{
type: "POST",
url: "lib_ajax/somescript.php",
data: "captcha="+ captcha,
success: function(msg_captcha)
{
$("#status_captcha").ajaxComplete(function(event, request, settings)
{
// ... some validation code here
});
}
});
}
$("#captcha").bind('keyup',chckcaptcha)
$("#captcha").blur(chckcaptcha);
});
图片:
<img src="/lib_class/securimage/securimage_show.php" alt="CAPTCHA Image" name="captcha_img" width="100%" height="100" id="captcha_img" />
刷新网址:
<a href="#" onclick="document.getElementById('captcha_img').src = '/lib_class/securimage/securimage_show.php?' + Math.random(); return false">refresh image</a>
我需要一种方法来在单击该 url 或创建新图像时调用 jScript 中的检查验证码函数。我完全不知道如何做到这一点。
我已经尝试(以及许多其他事情)将其添加到 jScript:
$("#captcha_img").change(chckcaptcha);
但这并没有帮助。任何解决方案的提示将不胜感激!
【问题讨论】: