Nie jesteś zalogowany na forum.
Strony: 1
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
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
Jak się nudzisz to poczytaj pocztę, bo piszę do ciebie i piszę... Sprawę mam!
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
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
Ale nie ma takiej potrzeby, bo ten input ma atrybut maxlength, który właśnie tak działa
Offline
Tak ale nie sygnalizuje tego.
Offline
Whoo, Rudik, świetny kod, ależ ułatwia korzystanie z czata. Dziękuję Ci
Offline
Strony: 1