Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odświeżanie diva po kliknięciu checkboxa
Forum PHP.pl > Forum > XML, AJAX
northwest
Witam serdecznie,
Chciałbym zrobić na stronce odświerzanie DIVa po kliknięciu na
checkboxa. Kombinowałem z czymś takim (z jQuery):
  1. <script>
  2. function odswiez_diva(){
  3. $.post('tresc_do_divka.php',{pokaz:'divek'},function(odebrane_dane){
  4. $('#divek').html(odebrane_dane)
  5. })
  6. }
  7.  
  8. </script>
  9. <form action = "ja.html" method="post"
  10. <input type="checkbox" name="pobranie2" />
  11. </form>
  12.  
  13. <div id='divek'>
  14. Po zaznaczeniu/odznaczeniu ten divek ma się odświerzyć
  15. </div>

ale nie bardzo wiem jak to połączyć ze sobą sad.gif wie ktoś może jak to zrobić?

Northwest
masahuku
Let the force of onclick be with You ! smile.gif. Realizujesz to albo za pomocą handlerów eventów w jquery $(twoj_checkbox).onclick(function() { }) albo mniej "pr0" za pomocą onclick w tagu checkboxa.
northwest
tylko ja bym chciał (jeśli się da) żeby po odznaczeniu/zaznaczeniu automatycznie się ten div przeładowywał...
bez wciskania buttona... da się coś takiego zrobic?

przepraszam jeśli to głupie pytanie, ale dopiero raczkuje z ajaxem winksmiley.jpg
masahuku
No ale dajesz onclicka na checkboxie a nie na onSubmit smile.gif. Event sie odpali po kliknięciu danego inputa.
Dox_
Dla poszukiwaczy konkretnego rozwiązania oto ono:

Zawartość nagłówka:
[JAVASCRIPT] pobierz, plaintext
  1. /*
  2. Skrypt stworzony przez Dox_'a. Można go rozpowszechniać wg licencji Free Use z zachowaniem informacji o autorze.
  3. */
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
  6. <script type="text/javascript">
  7. /* Blok kodu w ktorym wypisana jest dowolna ilość sentencji */
  8. motto = new Array ();
  9. motto[0] = "Pierwszy prezent";
  10. motto[1] = "Drugi prezent";
  11. motto[2] = "Trzeci prezent";
  12. motto[3] = "Czwarty prezent";
  13.  
  14. function show() //funkcji odpowiedzialna za pokazanie wylosowanej sentencji
  15. {
  16. tekst = ""; // przypisanie busatej wartości do zmiennej tekst - zbędne ;)
  17. losowanie = Math.floor(Math.random()*6); //losowanie
  18. if (losowanie > 3){
  19. tekst = "Niestety, nic nie wylosowałeś(aś). Spróbój jeszcze raz.";
  20. }
  21. else {
  22. tekst = motto[losowanie]; // wylosowana treść
  23. }
  24. return (tekst); // wyświetlenie treści
  25. }
  26.  
  27. function refresh() // funkcja odpowiedzialna za "czyszczenie zawartości" (tak na prawdę wartość jest na nowo losowana i podmienia starą)
  28. {
  29. document.getElementById("mypopup").style.display="none"; //wyłączenie diva głównego
  30. document.getElementById("popupbody").innerHTML=show(); //podmiana zawartości diva ze zmienną treścią
  31. document.getElementById("mypopup").style.display="block"; /*wyświetlenie diva głównego; pierwsza i 3 linijka może być zbędna ale mi się nie chciało tego sprawdzać */
  32. }
  33.  
  34. </script>
  35. </head>
[JAVASCRIPT] pobierz, plaintext


Budowa diva i przycisków:

  1. /*
  2. Skrypt stworzony przez Dox_'a. Można go rozpowszechniać wg licencji Free Use z zachowaniem informacji o autorze.
  3. */
  4. <input type="image" onClick='document.getElementById("mypopup").style.display="block"' src='http://images21.fotosik.pl/150/aaefd286df6a29e8.png' /> /* przycisk jako jajko wielkanocne - drobne nawiązanie do świat ;)*/
  5.  
  6. /* Div główny od razu z drobnymi modyfikacjami stylu */
  7. <div id='mypopup' name='mypopup' style='position: absolute; width: 190px; height: 400px; display: none;'>
  8. <div style="font-size:100%; margin:10px auto; padding:8px; border:1px solid #006CB0; border-radius:15px; background-color: rgba(125,125,125,0.2); height: 40px;">
  9. <b><center>Wielkanocna niezpodzianka</center></b>
  10. </div> // div nagłówka - można go usunąć bądź zmienić zawartość
  11. <div id='popupbody' style="font-size:90%; margin:10px auto; padding:8px; border:1px solid #006CB0; border-radius:5px; background-color: rgba(125,125,125,0.2);"> // div naszego ciała ze zmienną treścią o id popupbody
  12. <script type="text/javascript"> document.write(show());</script> // pierwsze wypisanie wylosowanego motta
  13. </div>
  14. <div style="position: absolute; right: 2px; top:2px">
  15. <input type="image" onClick='document.getElementById("mypopup").style.display="none"' src='http://oferta.miastoszkolen.pl/cennik_x.png' />
  16. </div> // div z przyciskiem zamykającym głównego diva
  17. <div style="position: absolute; left: 2px; top:2px">
  18. <input type='image' onClick='refresh()' src='http://www.sscont.x10hosting.com/xfactor/Themes/default/images/sp/refresh.png' />
  19. </div> // div z przyciskiem odświeżającym diva ze zmienną treścią
  20. </div>


Przykładowy plik html

  1. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
  2. <script type="text/javascript">
  3. /*
  4. Skrypt stworzony przez Dox_'a. Można go rozpowszechniać wg licencji Free Use z zachowaniem informacji o autorze.
  5. */
  6. /* Blok kodu w ktorym wypisana jest dowolna ilosc sentencji */
  7. motto = new Array ();
  8. motto[0] = "Pierwszy prezent";
  9. motto[1] = "Drugi prezent";
  10. motto[2] = "Trzeci prezent";
  11. motto[3] = "Czwarty prezent";
  12.  
  13. function show()
  14. {
  15. tekst = "";
  16. losowanie = Math.floor(Math.random()*6);
  17. if (losowanie > 3){
  18. tekst = "Niestety, nic nie wylosowałeś(aś). Spróbój jeszcze raz.";
  19. }
  20. else {
  21. tekst = motto[losowanie];
  22. }
  23. return (tekst);
  24. }
  25.  
  26. function refresh()
  27. {
  28. document.getElementById("mypopup").style.display="none";
  29. document.getElementById("popupbody").innerHTML=show();
  30. document.getElementById("mypopup").style.display="block";
  31. }
  32.  
  33. </head>
  34.  
  35. /*
  36. Skrypt stworzony przez Dox_'a. Można go rozpowszechniać wg licencji Free Use z zachowaniem informacji o autorze.
  37. */
  38.  
  39. <input type="image" onClick='document.getElementById("mypopup").style.display="block"' src='http://images21.fotosik.pl/150/aaefd286df6a29e8.png' />
  40.  
  41.  
  42. <div id='mypopup' name='mypopup' style='position: absolute; width: 190px; height: 400px; display: none;'>
  43. <div style="font-size:100%; margin:10px auto; padding:8px; border:1px solid #006CB0; border-radius:15px; background-color: rgba(125,125,125,0.2); height: 40px;">
  44. <b><center>Wielkanocna niezpodzianka</center></b>
  45. </div>
  46. <div id='popupbody' style="font-size:90%; margin:10px auto; padding:8px; border:1px solid #006CB0; border-radius:5px; background-color: rgba(125,125,125,0.2);">
  47. <script type="text/javascript"> document.write(show()); </script>
  48. </div>
  49. <div style="position: absolute; right: 2px; top:2px">
  50. <input type="image" onClick='document.getElementById("mypopup").style.display="none"' src='http://oferta.miastoszkolen.pl/cennik_x.png' />
  51. </div>
  52. <div style="position: absolute; left: 2px; top:2px">
  53. <input type='image' onClick='refresh()' src='http://www.sscont.x10hosting.com/xfactor/Themes/default/images/sp/refresh.png' />
  54. </div>
  55. </div>
  56.  
  57. </body>
  58. </html>


Oczywiście położenie divów oraz przycisków można dowolnie ustawić. Skrypt również posiada parę drobiazgów, które dla innych mogą być zbędne. Dodatkowo to rozwiązanie wykorzystuje wyłącznie JS, czego pewnie szukał kolega oraz sporo innych osób w internecie, korzystając z tego samego skryptu, popularnego na innych forach w działach dotyczących pytań wink.gif
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.