Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Pętla działająca na elementach formularza
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
m.e.n.t.o.s.
Jakoś nie mogę ogarnąć tematu sam. Wiem, że kod napisany przeze mnie jest zły, ale nie potrafie w tej chwili go poprawić.

  1. var default_value = {
  2. "#tresc" : "Wpisz treść komentarza...",
  3. "#log" : "Podaj login...",
  4. "#pass" : "Podaj hasło",
  5. "#autor" : "Podaj imię...",
  6. "#miejscowosc" : "Podaj miejscowość...",
  7. "#mail" : "Podaj e-mail...",
  8. "#www" : "Podaj adres strony www...",
  9. "#captcha" : "KOD"
  10. };
  11.  
  12. $(document).ready(
  13. function()
  14. {
  15. for(var selector in default_value)
  16. {
  17. $(selector).val(default_value[selector]).focus(function() {
  18. if($(this).val() == default_value[selector])
  19. $(this).val('');
  20. $(this).addClass("focus");
  21. $(this).blur(function() {
  22. if($(this).val() == '')
  23. $(this).val(default_value[selector]);
  24. $(this).removeClass("focus");
  25. });
  26. });
  27. }
  28. });



W tablicy asocjacyjnej przechowuje identyfikatory inputów i textarea oraz domyślną treść mającą się w nich wyświetlać. Po kliknięciu na inputa tekst ma zniknąć. Jednak tak się nie dzieje.

Oto działający kod dla pojedyńczego inputa:
  1. $("#log").val('Podaj login').focus(
  2. function()
  3. {
  4. if($(this).val() == 'Podaj login')
  5. $(this).val('');
  6. $(this).addClass("focus");
  7. $(this).blur(
  8. function()
  9. {
  10. if($(this).val() == '')
  11. $(this).val('Podaj login');
  12. $(this).removeClass("focus");
  13. });
  14. });


Nie chce pisać tego samego kodu dla każdego pola formularza, bo w końcu istnieje coś takiego jak pętla.
taktu
spróbuj z each
m.e.n.t.o.s.
Dzięki kolego za podpowiedź. Działa smile.gif

Poniżej wklejam kod, może się komuś przyda:
  1. var default_value = {
  2. "#tresc" : "Wpisz treść komentarza...",
  3. "#log" : "Podaj login...",
  4. "#pass" : "Podaj hasło",
  5. "#autor" : "Podaj imię...",
  6. "#miejscowosc" : "Podaj miejscowość...",
  7. "#mail" : "Podaj e-mail...",
  8. "#www" : "Podaj adres strony www...",
  9. "#captcha" : "KOD"
  10. };
  11. $(document).ready(
  12. function()
  13. {
  14. $.each(default_value, function(selector, value) {
  15. $(selector).val(value).focus(function() {
  16. if($(this).val() == value)
  17. $(this).val('');
  18. $(this).addClass("focus");
  19. $(this).blur(function() {
  20. if($(this).val() == '')
  21. $(this).val(value);
  22. $(this).removeClass("focus");
  23. });
  24. });
  25. });
  26.  
  27. });


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.