Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][JavaScript]Ograniczenie textarea
Misiur66
post
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


Witam! GDy chodzi o input to żaden problem, 'maxlength' i już. Ale w textarea jest ciężej... i tu właśnie jest problem. Mam funkcje JS:
Kod
function licz(id){
    var kontener = $('licz_'+id);
    var ograniczenie = 300;
    var textarea = document.forms['formularz_komentarz_' + id].elements['komentarz_tresc_' + id].value;
      var wynik = ograniczenie - textarea;
    if(wynik == 0){
        textarea.innerHTML = textarea.substr(0, 300);
    }
}

który liczy i ogranicza ilość wpisanych znaków. Niesety przy użyciu onkeypress, nie da się użyć backspace, anie delete. A przy użyciu onkeyup/down, da się to oszukać za pomocą ctrl+c/v. W googlach sątylko funkcje do dołączania w tagach, czego nie lubię i nie wiem, jak to przerobić. Pomocy!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Shili
post
Post #2





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


W googlech jest tego dużo. Dla przykładu jeden z pierwszych wyników
Go to the top of the page
+Quote Post
Pilsener
post
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat
GDy chodzi o input to żaden problem, 'maxlength' i już. Ale w textarea jest ciężej
- maxlenght nie jest zalecany i został zdeprecjonowany - zabezpieczenia po stronie przeglądarki to żadne zabezpieczenia, najlepiej sprawdzać wszystko po stronie PHP. Jednak jeśli Ci bardzo zależy, to na brydz.ugu.pl przy dodawaniu komentarza masz prosty JS + licznik, możesz to ksopiowac i użyć u siebie. Podobnych rozwiązań jest masa.

Ten post edytował Pilsener 27.05.2008, 13:09:36
Go to the top of the page
+Quote Post
Misiur66
post
Post #4





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


W obu niestety jest wstawione w HTML, a mi jakoś nie za bardzo idzie przekształcanie. Oba da się obejść... To pierwsze już oglądałem też tak jak było...
Go to the top of the page
+Quote Post
Shili
post
Post #5





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


Kurcze, daj to w osobnym pliku i zalinkuj w head.

Przecież to praktycznie nie ma znaczenia w tym przypadku czy kod jest na stronie, czy w osobnym pliku. Powiedz co dokładnie robisz, że Ci to nie idzie?

@ups, nie zrozumiałam, wystarczy, że user będzie miał wyłączony js, albo że wpisze Ci się bot i to obejdzie.

Ten post edytował Shili 27.05.2008, 13:31:14
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Oba da się obejść...
Wszystko co masz postronie przeglądarki da sie obejsc. Nawet Twoje maxlength w inputach da sie obejsc w minute.
Jak juz wspomniano - podstawowa walidacja to php. Js to tylko dodatek


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Misiur66
post
Post #7





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


To jest oczywiste że będzie sprawdzenie PHP, ale zawracać głowę PHP, jak najmniej ;-) Czy jest jakiś nieiwazyjno-HTML sposób?
Go to the top of the page
+Quote Post
Shili
post
Post #8





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


To nie jest dobra metoda, żeby php spychać na boczny tor. Tylko dobrze zaprogramowany php jest w stanie wyłapać wszelakie wyjątki. Poza tym sprawdzenie długości za pomocą php to przecież tylko jedna linijka, a masz gigantyczną pewność, że nie przejdzie Ci nic, czego nie chcesz przyjąć.

Sposobów htmlowychnie ma - jak napisał nospor da się je obejść błyskawicznie szybko, choćby za pomocą zwyczajnego firebuga. Nie tędy droga.
Go to the top of the page
+Quote Post
Misiur66
post
Post #9





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


Spróuję przerobić te skrypty inwazyjne... No cóż pokazaliście mi prawdę ograniczeniach JS (wystarzczy że ktoś ma wyłączony i moja stronka siada...) Wg. Ksiązki którą czytam ("Kuloodporny Ajax"), naprawdę trzeba najpierw zrobić stronkę dla każdego, potem ją udogadniać... Dzieki wszystkim!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:34