Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP][AJAX]Jak odświeżyć captcha bez przewijania strony?
Forum PHP.pl > Forum > Przedszkole
Szunaj85
Mam stronę na której znajduje się formularz. W trakcie wczytywania zostaje wyświetlony obrazek captcha. Chciałbym żeby użytkownik miał możliwość wciśnięcia w przycisk, który powodowałby wyświetlenie innego obrazka bez przeładowywania całej strony. Wiem już, że coś takiego można zrobić w AJAX-ie jednak nie wiem jak się za to zabrać i jak miałoby to wyglądać jeśli chodzi o kod.
patryczakowy
  1. <script type="text/javascript" language="javascript">
  2.  
  3.  
  4. function fg(pa)
  5. {
  6. ir=Math.random(99999);
  7. if (document.getElementById)
  8. {tmp=document.getElementById(pa).src; document.getElementById(pa).src=''; tmp=tmp+'?&amp;te='+ir; document.getElementById(pa).src=tmp;}
  9. else {tmp=document.all(pa).src; document.all(pa).src=''; tmp=tmp+'?&amp;te='+ir; document.all(pa).src=tmp;}
  10. }
  11.  
  12. <!-- i obrazek !-->
  13. <img id="Token_Img" onclick="fg('Token_Img');" alt="" src="token.php"/>
Szunaj85
  1. <img id="Token_Img" onclick="fg('Token_Img');" alt="" scr="token.php"/>
Wydaje się, że wszystko działa, ale miałem na myśli wciśnięcie obrazka obok captcha, a nie samej captcha sadsmiley02.gif
oomaster
Co to za problem lekko zmodyfikować ?

  1. <a href="#" id="Token_Img" onclick="fg('Token_Img');">Odśwież</a>


Chyba w ogóle nie znasz html winksmiley.jpg
sebekzosw
  1. <script type="text/javascript">
  2. function nowy_token() {
  3. var id = new Date().getTime();
  4. $("token").src = "token.jpg?date=" + id + "";
  5. $("text_token").value = '';
  6. }
  7.  
  8. <a href="#" onclick="nowy_token(); return false;"><img src="token.jpg" style="border: solid #000000 2px;" id="token" alt="token" /></a>
  9. <input id="text_token" name="token" type="text" value="" />
  10. <br /><small>Przepisz znaki widoczne<br /> na obrazku.<br /><a href="" onclick="nowy_token(); return false;">odśwież obrazek</a></small>


Takie coś używam u siebie smile.gif
Szunaj85
Chyba mnie nie zrozumieliście.
1. Skrypt patryczakowy wydaje się, że jest ok. Jednak aby odświeżyć captcha trzeba nacisnąć na sam obrazek captcha. Ja natomiast chcę żeby dopiero po naciśnięciu obrazka odśwież zmieniał się obrazek captcha.
Jak dam tak:
  1. <img id="Token_Img" onclick="fg('Token_Img');" alt="" src="odswiez.jpg"/>
Odświeża się sam obrazek
Jak dam tak:
  1. <img id="Token_Img" onclick="fg('Token_Img');" alt="" src="token.php"/>
Odświeża się captcha, ale po kliknięciu tylko na nią.
2. Oomaster, sebekzosw ja nie chcę odświeżać całej strony, a tylko obrazek captchy.
Kombinuje jak rozwiązać ten problem, ale coś nie idzie.
Edit:
Dobra dzięki waszej pomocy napisałem kod i wszystko działa.
sebekzosw
Jak nie używasz biblioteki z Ajax to Ci to nie pójdzie bo było dostosowane do niego... sprawdź to:

  1. <script type="text/javascript">
  2. function nowy_token() {
  3. var id = new Date().getTime();
  4. document.getElementById("token").src = "token.jpg?date=" + id + "";
  5. document.getElementById("text_token").value = '';
  6. }
  7.  
  8. <a href="#" onclick="nowy_token(); return false;"><img src="token.jpg" style="border: solid #000000 2px;" id="token" alt="token" /></a>
  9. <input id="text_token" name="token" type="text" value="" />
  10. <br /><small>Przepisz znaki widoczne<br /> na obrazku.<br /><a href="" onclick="nowy_token(); return false;">odśwież obrazek</a></small>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.