Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   обновление картинки при нажатии кнопки (https://javascript.ru/forum/jquery/51170-obnovlenie-kartinki-pri-nazhatii-knopki.html)

ask67 27.10.2014 13:17

обновление картинки при нажатии кнопки
 
Здравствуйте друзья.
Такая проблема. Есть картинка капчи, которую можно обновлять нажатием ссылки.

<a href="#co" onclick="
    document.getElementById('capimg').src='captcha/captcha.php?'+Math.random();
    document.getElementById('capcha-form').focus();"
    id="change-image"> Поменять </a>


сама капча в форме выглядит так:

<input type="text" name="capcha" id="capcha-form" size="50"><br>
<img src="captcha/captcha.php" id="capimg"><br>


теперь хочу вставить команды в код обработки формы, чтобы по каждому нажатию кнопки submit капча обновлялась.

вставляю в обработчик после $("#button").on("click", function(){
такой код:
$("#capimg").attr("src").replace("captcha/captcha.php?"+Math.random());
$("#capcha-form").focus();

и он не работает

Подскажите пожалуйста, в чем ошибка

ksa 27.10.2014 13:29

Цитата:

Сообщение от ask67
Подскажите пожалуйста, в чем ошибка

У элементов "типа jQuery" нет метода replace()...

Пробуй так
$("#capimg").attr("src","captcha/captcha.php?"+Math.random());

ask67 27.10.2014 13:42

Спасибо, так работает (в смысле меняет капчу), но теперь перестал принимать код. Все время выдает ошибку. Бум разбираться.

ksa 27.10.2014 13:48

Цитата:

Сообщение от ask67
но теперь перестал принимать код

Так ты не элементу ДОМ вызываешь метод focus()... :(

ask67 27.10.2014 14:14

ошибка была в том, что я вначе менял капчу, а потом пересылал форму в ajax, поменя местами, все заработало. Но нестабильно. Грешу на кеш.

а может дело в focus.

ask67 27.10.2014 14:43

нестабильность из-за того, что капча успевает обновиться раньше, чем обрабатывается код php.


Часовой пояс GMT +3, время: 00:39.