![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z limitem w textarea tzn mogę ustawić z admina limit ale bez problemu da się go ominąć np. wklejają tekst z dużo większą ilością znaków (przy normalnym pisaniu blokuje się, natomiast przy wklejaniu nie) o to kod:
<!-- Start Template {contentPath}/{contentTpl} --> <!-- #BeginEditable "Body" --> <form name="form1" method="post" action=""> <br /> <table width="{contentWidth}" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td> </td> </tr> <tr> <td class="boxTitle"> <table width="100%" border="0" cellpadding="5" cellspacing="0"> <tr> <td class="row1" style="padding-top:10px; padding-left:10px"><strong>{T_TO}:</strong></td> <td class="row1" style="padding-top:10px"><?=$tpl['sendto']?></td> </tr> <tr> <td class="row1" style="padding-left:10px"><strong>{T_SUBJECT}:</strong></td> <td class="row1"><div class="font_error"><?=$tpl['a_errInput']['subject']?></div> <input name="subject" value="<?=$tpl['fo']['subject']?>" class="tf" style="width: 450px; font-size:13px"> </td> </tr> <tr> <td valign="top" class="row1" style="padding-left:10px"><strong>{T_MSG_BODY}:</strong></td> <td class="row1"><div class="font_error"><?=$tpl['a_errInput']['mesg']?></div> <?php $chars = ($tpl['mesgMaxChar']) ? $tpl['mesgMaxChar'] : 500; ?> <textarea name="mesg" id="mesg" rows="13" class="ta" style="width: 450px; font-size:13px" onkeydown="checkFieldLength('mesg', 'charcount', 'remaining', <?=$chars?>);"><?=$tpl['fo']['mesg']?> </textarea> <div class="text_normal" style="margin:2px;"> <span id="charcount" style="padding:1px">0</span> {T_CHARACTERS_ENTERED} | <span id="remaining" style="padding:1px"><?=$chars?></span> {T_CHARACTERS_REMAINING}</div> </td> </tr> <tr> <td colspan="2" align="center" class="row1" style="padding-bottom:10px"> <input type="hidden" name="task"> <input type="hidden" name="id" value="<?=$tpl['sendtoID']?>"> <input name="button" type="button" value="{T_SEND}" class="button" onClick="check_form('add')" style="width:75px; background-image: url('<?=$tpl['tplPath']?>/images/button-normal.gif')"> </td> </tr> </table> </td> </tr> <tr> <td> </td> </tr> </table> </form> <!-- #EndEditable --> <!-- End Template {contentPath}/{contentTpl} -->
[xml][/xml][php][/php] Co należy zmienić aby na stałe już zrobić limit bez konieczności sterowania nim z panelu admina? Dziękuję za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tak, póki nikt inny nie napisze, nie jestem ekspertem w JS, ale wydaje mi się że styknie
przy Textarea dajesz atrybut onChange="controlMe()" Kod limit = 150; // limit znaków textAreaValue = self.value; // Obiekt który wykonuje funkcję, sam się wstawia if(textAreaValue.length > limit) { textAreaValue.substring(0, limit); } self.value = textAreaValue Ten przykład pewnie łatwiej zrozumieć, ale jak wszystko będzie działało to nawet nie trzeba robić tego textAreaValue tylko od razu self.value -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nic nie pomogło, być może coś źle zrobiłem? nic nie usuwałem po prostu dodałem ten kod i niestety żadnych rezultatów. Kod dodałem w sekcji textarea.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 4 Dołączył: 24.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj zamiast onkeydown dać onkeyup a jeśli to nie pomoze to jeszcze przed wyslaniem formularza w zdarzeniu przycisku submit daj wycinanie znakow.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 331 Pomógł: 30 Dołączył: 11.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
a nie można sprawdzać po stronie php?
daj tą samą funkcję do zdarzeń: onfocus i onblur (wtedy przy wejściu do pola i przy jego opuszczeniu zostanie sprawdzona jego wartość lub daj w js sprawdzanie cykliczne np. co 0.5 s lub przy ruszeniu myszką o jakąś odległość -------------------- http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czyli jak powinien wyglądać konkretnie kod? jestem trochę zielony w takich sprawach. Co powinno znajdować się w sekcji textarea? a może problem tkwi w innym miejscu?
Dziękuje za odpowiedzi |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 250 Pomógł: 55 Dołączył: 27.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Radzilbym sprawdzac to po stronie php.
Jezeli liczba znakow przekroczona wyrzucac z powrotem do formularza z informacja o przekroczony limicie znakow. Wystarczy ze wylacze js w przegladarce i twoj skrypt juz nie zadziala wiec wkleje sobie ile chce. Pozdrawiam Ten post edytował krispak 25.08.2010, 21:00:44 -------------------- * * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd.. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 331 Pomógł: 30 Dołączył: 11.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
cóż, ja stosuję czasem kontrolę js tylko jako sprawdzenie wstępne, i tak wszystko musisz sprawdzać w php, bo inaczej będziesz mieć śmieci w bazie...
-------------------- http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Panowie może trochę jaśniej? jakie zmiany są potrzebne w tym kodzie?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 4 Dołączył: 24.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
A próbowałeś tak:
![]() Tak jak mówią koledzy, zrób też dodatkowe ograniczenie w PHP. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie szanownych forumowiczów:)
Powiem krótko: udało się, dodałem onBlour ale dodatkowo dodałem również zdarzenia: onMouseMove , onSubmit ( o czym już kolega wcześniej wspominał). Dziękuje za pomoc Ten post edytował tasiej 26.08.2010, 20:32:09 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 02:25 |