Oficjalne forum pomocy serwisu PUN.pl

Niestety, nikt nie powie Ci czym jest FluxBB - musisz go poznać sam!

Nie jesteś zalogowany na forum.

#1 2013-05-19 13:39:59

ukaszf9
Użytkownik
Dołączył: 2011-08-01
Liczba postów: 1,335

[JS] Ile ci znaków zostało w chatbox'ie

Prosta modyfikacja wyświetlająca koło submitu chatboxu "Wyślij" ile ci zostało znaków.
Za wartość 300 należy wprowadzić wartość, którą mamy ustawioną w ustawieniach chatboxa.

<script type="text/javascript">
var iloczyn = document.createElement("span");iloczyn.id="iloczyn";
document.formulaire.appendChild(iloczyn);
function liczba_znakow_chat() 
{
         var tresc = document.formulaire.req_message.value.length;
         iloczyn.innerHTML = 300 - tresc + "/300";
         setTimeout("liczba_znakow_chat()", 1000);
}
liczba_znakow_chat();
</script>

Offline

#2 2013-05-19 20:26:33

Rudik
Użytkownik
Skąd: Iława
Dołączył: 2007-06-18
Liczba postów: 5,530

Odp: [JS] Ile ci znaków zostało w chatbox'ie

A nie lepiej dać jakiegoś zdarzenia typu onKeyDown na pole do wpisywania wiadomości i w tym zdarzeniu dać tą funkcję już bez tego timeouta?
Bo tak to mamy niepotrzebnie co sekundę wywoływaną funkcję nawet, jeśli ktoś nie używa czata.

@edit:
trochę się nudziłem i napisałem własną wersję tego kodu:

<script type="text/javascript">
var dlugosc = document.formulaire.req_message.getAttribute('maxlength');
function znaki (ilosc) {
    if ((spanID = document.getElementById('pozostalo_znakow'))) {
        spanID.innerHTML = 'Pozostało ' + ilosc + ' znaków.';
    }
    else {
        var span = document.createElement('span');
        span.id = 'pozostalo_znakow';
        span.appendChild(document.createTextNode('Pozostało ' + ilosc + ' znaków.'));
        document.formulaire.appendChild(span);
    }
}
znaki(dlugosc);
document.formulaire.req_message.onkeyup = function () {
    var roznica = dlugosc - document.formulaire.req_message.value.length;
    znaki(roznica <= 0 ? '<span style="color:red;">0</span>' : roznica);
}
</script>

do stopki

Ostatnio edytowany przez Rudik (2013-05-19 20:58:03)

Offline

#3 2013-05-21 22:52:21

radeks356
Użytkownik
Skąd: Warszawa
Dołączył: 2009-10-31
Liczba postów: 2,079

Odp: [JS] Ile ci znaków zostało w chatbox'ie

Jak się nudzisz to poczytaj pocztę, bo piszę do ciebie i piszę... Sprawę mam! [dblpt])
GG: 9564594
email: ravs0n@spoko.pl

Kod jak najbardziej przydatny! Bardzo często ucinało mi moje długie wiadomości, bo zapominałem o limicie. Fajnie by było jeszcze, jakby zatrzymywało się pisanie po tych 300 znakach. ^^.

Offline

#4 2013-05-22 13:16:01

ukaszf9
Użytkownik
Dołączył: 2011-08-01
Liczba postów: 1,335

Odp: [JS] Ile ci znaków zostało w chatbox'ie

Wystarczy do mojego kodu albo kodu Rudika dodać warunek sprawdzający czy liczba znaków jest równa 0 i wtedy input zablokować:

document.formulaire.req_message.disabled="true";

Offline

#5 2013-05-22 13:19:28

Rudik
Użytkownik
Skąd: Iława
Dołączył: 2007-06-18
Liczba postów: 5,530

Odp: [JS] Ile ci znaków zostało w chatbox'ie

Ale nie ma takiej potrzeby, bo ten input ma atrybut maxlength, który właśnie tak działa [sred])

Offline

#6 2013-05-22 14:42:55

ukaszf9
Użytkownik
Dołączył: 2011-08-01
Liczba postów: 1,335

Odp: [JS] Ile ci znaków zostało w chatbox'ie

Tak ale nie sygnalizuje tego.

Offline

#7 2013-05-24 23:25:48

Anivien
Użytkownik
Dołączył: 2013-05-15
Liczba postów: 17

Odp: [JS] Ile ci znaków zostało w chatbox'ie

Whoo, Rudik, świetny kod, ależ ułatwia korzystanie z czata. Dziękuję Ci [dblpt])


1420uczek_zpsa18855a1.png

Offline

Użytkowników czytających ten temat: 0, gości: 1
[Bot] claudebot

Stopka

Forum oparte na FluxBB

Darmowe Forum
hunter-org - krotka1a - myrp - plrpg - protetyk