ФорумПрограммированиеJavaScript → Индикация загрузки изображения с CAPTCHA-кодом (на примере KCAPTCHA)

Индикация загрузки изображения с CAPTCHA-кодом (на примере KCAPTCHA)

  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 7:07

    Интегрирую в свой сайт KCAPTCHA от Круглова Сергея
    В форму вставлено, проверка работает.

    Сделал быструю перезагрузку изображения, если код нечитаем вот так:

    PHP часть:
    <div style=\"float:left;\" id=\"kcaptcha\">
    <img src=\"/kcaptcha/index.php?".uniqid('0')."\" alt=\"Защитный код\" />
    </div>
    <div style=\"float:left; padding:18px 0 0 10px; text-align:center; color:#979797;\">
    Если код нечитаем,<br /><a href=\"javascript:void(0);\" onclick=\"reload(); return false;\">получите другой</a>
    </div>


    и JS часть:
    <script type="text/javascript">
    function reload () {
    var randomval = Math.random();
    document.getElementById('kcaptcha').innerHTML = '<img src="/kcaptcha/index.php?'+randomval+'" alt="Защитный код" />';
    };
    </script>


    В результате, по нажатию на получите другой имеем перезагрузку картинки с кодом, т.е. цель достигнута.

    Вот думаю сделать индикацию загрузки новой картинки с кодом.
    Должно работать так: жмём на получите другой, картинка с кодом пропадает, на её месте появляется GIF'ка (а-ля ajax loader) и пока новая картинка с кодом не загрузится, пользователь должен видеть эту гифку.


    Прошу помочь с реализацией :)
    Смотрел в сторону использования onreadystatechange, но, кроме отправки браузера в "висячее" состояние, у меня ничего не получилось..
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 7:08, спустя 55 секунд

    она что, так долго подгружается? Оо
    все умрут, а я изумруд
  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 7:09, спустя 1 минуту 1 секунду

    ну, мало ли, у кого-то медленный инет :)
    мне интересно понять КАК делается подобное
    в JS я, пожалуй, нулевой..
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 7:09, спустя 36 секунд

    я ему уже второй день говорю юзать жуквери но он не хочет :(
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 7:10, спустя 22 секунды

    почему тема в разделе для JAVA   ????
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 7:11, спустя 52 секунды

    http://tools.adw0rd.ru/getdomains/ типа такого лоадера?
    Спустя 32 сек.

    почему тема в разделе для JAVA   ????
    потомучто люди до сих пор думают что это Java…
    adw/0
  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 7:12, спустя 1 минуту 25 секунд


    я ему уже второй день говорю юзать жуквери но он не хочет :(

    хочу и пытался - пока не удалось

    NRG
    тормознул… sorry
    Спустя 29 сек.
    adw0rd
    нет, не думаю
    я просто стормозил
  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 7:21, спустя 9 минут 17 секунд

    типа такого лоадера?

    ага, именно так
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 7:27, спустя 5 минут 27 секунд

    Makc, я просто юзаю картинку лоадера, а после выполнения аякс-запроса заменяю картинку - пришедшими данными
    зы. использую jquery, реализацию можешь посмотреть в сырцах страницы
    adw/0
  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 7:34, спустя 7 минут 14 секунд

    насколько я понимаю, у меня нет необходимости в ajax.

    я не прошу разжевать и проглотить за меня решение, я прошу натолкнуть на решение, но доступно для новичка
    меня интересует даже не столько результат, сколько процесс и способ(ы) решения задачи

    в основном способы реализации на JavaScript, а также на jQuery
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 7:42, спустя 7 минут 35 секунд

    насколько я понимаю, у меня нет необходимости в ajax.
    а картинка с новым капча-кодом откуда приходит? разве ты ее не аяксом тянешь?
    adw/0
  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 7:44, спустя 2 минуты 2 секунды

    adw0rd
    как тянется новая картинка я показал в первом посте
    либо я не понимаю что такое ajax =)

    сейчас выложу пример страницы.
  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 7:50, спустя 6 минут 26 секунд

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 7:53, спустя 3 минуты 29 секунд

    Makc, а, ну да, просто я не внимательно посмотрел. Но от этого ничего не меняется, какая разница в том, как вы получаете данные.

    0. Заранее подгружаете и скрываете (disply:none) "аякс-лоадер.gif"
    1. Формируете капча-картинку и показываете ее пользователю
    2. После клика на "обновить капчу" вы подменяете в том блоке, где выводите капчу - "капчу" на "аякс-лоадер.gif"
    3. После формирования новой капчи заменяете
    Спустя 72 сек.

    вот: http://metalrus.ru/forpyhaforum/
    тогда после получения новой картинки капчи, встраивайте ее, но делайте disply:none, ждите 1 секунду и делайте disply:block
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 7:56, спустя 2 минуты 36 секунд

    http://94.31.169.103/InnerProjects/BasePortal/trunk/users/signup.html

    учись =))
    Спустя 7 сек.
    тыкать в капчу
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!