var default_value = { "#tresc" : "Wpisz treść komentarza...", "#log" : "Podaj login...", "#pass" : "Podaj hasło", "#autor" : "Podaj imię...", "#miejscowosc" : "Podaj miejscowość...", "#mail" : "Podaj e-mail...", "#www" : "Podaj adres strony www...", "#captcha" : "KOD" }; $(document).ready( function() { for(var selector in default_value) { $(selector).val(default_value[selector]).focus(function() { if($(this).val() == default_value[selector]) $(this).val(''); $(this).addClass("focus"); $(this).blur(function() { if($(this).val() == '') $(this).val(default_value[selector]); $(this).removeClass("focus"); }); }); } });
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:
$("#log").val('Podaj login').focus( function() { if($(this).val() == 'Podaj login') $(this).val(''); $(this).addClass("focus"); $(this).blur( function() { if($(this).val() == '') $(this).val('Podaj login'); $(this).removeClass("focus"); }); });
Nie chce pisać tego samego kodu dla każdego pola formularza, bo w końcu istnieje coś takiego jak pętla.