![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
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! |
|
|
![]() |
![]()
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
|
|
|
![]()
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 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
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...
|
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
To jest oczywiste że będzie sprawdzenie PHP, ale zawracać głowę PHP, jak najmniej ;-) Czy jest jakiś nieiwazyjno-HTML sposób?
|
|
|
![]()
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. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
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!
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:34 |