2013-08-21 3 views
1

Я использую простой captcha на моей странице контакта. Я хотел бы добавить функцию обновления с помощью javascript/jQuery. Функция, которая делает изображение captcha, находится в отдельном файле. Когда страница загружается, CAPTCHA работает хорошо, но я не могу сделать обновление. Мой код:jQuery/php refresh CAPTCHA

<head> 
... 
    $(document).ready(function(){ 
     $('#reload').click(function(){ 
      $("#captcha").load("functions/captcha.php"); // function that creates the NEW CAPTCHA 
      $("#captcha").attr("src", "images/captcha.jpg?"+(new Date()).getTime()); 
     }); 
    }); 

... 
</head> 
<body> 
<?php 
    require(functions/captcha.php); 
?> 

    // form 
    ... 
    <label for="captcha_code">ENTER CAPTCHA</label> 
    <img src="images/captcha.jpg" id="captcha" /> 
     <a id='reload'>Refresh now</a> 
     <input type="text" name="captcha_code" value="captcha_code"> 
    ... 

Я действительно был бы признателен за вашу помощь. Благодарим вас за чтение.

ответ

0

Вы должны подождать до того, как «функции/captcha.php» будут полностью загружены.

Попробуйте этот пример:

<div id="loader"></div> <!-- hide this div by css --> 
$('#reload').click(function() { 
    $("#loader").load("functions/captcha.php", function() { 
      $("#captcha").attr("src", "images/captcha.jpg?refr="+(new Date()).getTime()); 
    }); 
}); 

Но не лучше ли создать functions/captcha.php, который выводит изображение и просто обновить параметр src?

+0

Спасибо, Томаш, но он все еще не работает. Вы правы, но сначала я хотел бы выяснить, как создать новый. –