![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 59 Pomógł: 6 Dołączył: 28.10.2009 Skąd: że znowu... Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Natknęłam się na dosyć trudny, a zarazem wydaje mi się banalny problem w JavaScript. Napisałam skrypt zliczający ilość znaków w formularzu i wyświetlający ile pozostało jeszcze do wstawienia. Jednak mam problem by to uruchomić: Ta wersja działa poprawnie i zlicza mi ilość znaków: Kod js Kod <script language="javascript" type="text/javascript"> function zliczaj(string,ilosc) { var maxLength = ilosc; var obiekt = document.getElementById('tutajwyswietl'); obiekt.innerHTML = 'Pozostało <strong>'+ (maxLength - ( string.length ) ) +'</strong> znaków'; if( maxLength - ( string.length ) < 0 ) { obiekt.innerHTML = 'Wiadomość za długa o <strong>'+ (( string.length ) - maxLength) +'</strong> znaków'; document.getElementById( 'przeslij' ).disabled=true; } else { document.getElementById( 'przeslij' ).disabled=false; } } </script> Wywołanie: Kod <label for="tytul">1.Wpisz tytuł pytania <span id="tutajwyswietl">pozostało <strong>110</strong> znaków</span></label> <input type="text" name="tytul" id="tytul" maxlength="110" onkeyup="zliczaj(this.value,110);"/> Chciałbym jednak, aby automatycznie możnabyło dostosować skrypt zliczający do różnych pól w formularzu. Będę miała pole INPUT i TEXTAREA i chciałaby wywoływać skrypt w taki sposób: Kod onkeyup="zliczaj(this.value, ILOŚĆ ZNAKÓW, ID GDZIE MA BYĆ WYŚWIETLONA INFORMACJA ILE POZOSTAŁO ZNAKÓW);" Czyli dla powyższego przykładu Kod onkeyup="zliczaj(this.value,110,tutajwyswietl);" Zrobiłam to w taki sposób: Kod function zliczaj(string,ilosc,liczw) { var maxLength = ilosc; var obiekt = document.getElementById(liczw); obiekt.innerHTML = 'Pozostało <strong>'+ (maxLength - ( string.length ) ) +'</strong> znaków'; if( maxLength - ( string.length ) < 0 ) { obiekt.innerHTML = 'Wiadomość za długa o <strong>'+ (( string.length ) - maxLength) +'</strong> znaków'; document.getElementById( 'przeslij' ).disabled=true; } else { document.getElementById( 'przeslij' ).disabled=false; } } Kod <label for="tytul">1.Wpisz tytuł pytania <span id="licztytul">pozostało <strong>110</strong> znaków</span></label> <input type="text" name="tytul" id="tytul" maxlength="110" onkeyup="zliczaj(this.value,110,licztytul);"/> Lecz niestety nie działa i nie zlicza, wydaje mi się że problem jest w lini Kod var obiekt = document.getElementById(liczw); Niestety moja znajomość JavaScript jest ograniczona do minimum. Tak więc nawet nie mam pojęcia czy jest to problem składniowy czy też nie. Bardzo proszę o pomoc ![]() Natalka ![]() Ten post edytował Natalka 25.01.2011, 13:11:21 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 01:15 |