Обновление каптчи на кнопку без перезагрузки страницы

Discussion in 'PHP' started by Xantalion, 27 Jul 2012.

  1. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    Есть страница с формой ввода и каптчей.
    Добавление данных в БД из формы осуществляется без перезагрузки страницы посредством ajax.
    Ввиду этого каптча просто так не перезагружается при нажатии ввода данных
    PHP:
        <div id="captcha">
         <
    img onclick="this.src = 'captcha.php?'+Math.random(Math.random());"  src="captcha.php?rand=42" id="cap_img" alt="защитный код"
          </
    div>
    ввод осуществляется следующей функцией

    PHP:
    function in_msg() {
        {
            $.
    ajax({
                
    type"POST",
                
    url"input.php",
                
    cachefalse,
                
    data: { message: $("#message").val(), cap: $("#cap").val() },
    });
    }}
    Возникали такие идеи по реализации (путем дополнения функции): 1 вариант
    PHP:
    function in_msg() {
        {
            $.
    ajax({
                
    type"POST",
                
    url"input.php",
                
    cachefalse,
                
    data: { message: $("#message").val(), cap: $("#cap").val() },
           
    success: function(){
            $(
    '#cap_img').attr('src''captcha.php');
    });
    }}
    2 вариант

    PHP:
    function in_msg() {
        {
            $.
    ajax({
                
    type"POST",
                
    url"input.php",
                
    cachefalse,
                
    data: { message: $("#message").val(), cap: $("#cap").val() },
                  
    success: function(){
                $(
    "#captcha").empty();
                $(
    "<img onclick='this.src = 'captcha.php?'+Math.random(Math.random());' src='captcha.php'/>").appendTo("#captcha");
                                     }
    });
    }}
    Но в этих двух вариантах обновление каптчи происходит лишь при первом нажатии. Как можно сделать, чтобы все время обновлялась (в случае если сама страница не обновляется). Может подскажите чего?
     
    #1 Xantalion, 27 Jul 2012
    Last edited: 27 Jul 2012
  2. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    Задачу решил сам, спасибо за моральную поддержку ^_^
     
  3. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    решение

    PHP:
    function in_msg() {
        {
            $.
    ajax({
                
    type"POST",
                
    url"input.php",
                
    cachefalse,
                
    data: { message: $("#message").val(), cap: $("#cap").val() },
                
    success: function(){
                            var 
    cap 'captcha.php?' Math.random();
                            $(
    '#cap_img').attr('src'cap);
                                     }

                });
            
        }