• Страница 1 из 1
  • 1
Модератор форума: likbezz  
Скрипты и коды для юкоз - Форум аццкого кодера » Раздел для начинающих » Вопросы/ответы на тему JQuery и JScript на сайтах в uCoz » Помогите исправить баг в скрипте
Помогите исправить баг в скрипте
Дата: Суббота, 23.06.2012, 10:21 |
Shaman
Лейтенант
Группа: Проверенные
Сообщений: 44
Награды: 0
Репутация: 0
Статус: Offline


Нашол полезный скрипт. проверил, работает, но содержит серьёзный баг.
Смылс скрипта заключается в том, чтобы не разрешить писать в коментариях запрещённые слова, типа антимата или антиспама. Скрипт срабатывает сразу, если пользовательвводит слова из базы, сразу вылазит предупреждение, типа запрещенное слово, и деактивирует кнопку "отправить".

А баг скрипта в том, что он в любом случае, почемуто, блокирует кнопку "отправить", как только начинаешь вводить коментарий, независимо от наличия запрещённых слов.

вот код скипта стянутого с js

Code

   $(document).ready(function() {  
   $("textarea[id='message']").keyup(function() {  
   error = "В тексте используется ненормативная Лексика / Ссылки";  
   words = ["бл%ть","су%а","у%бок"];  
   for (i = 0; i <= words.length; i++){  
   if($("#message").val().toLowerCase().indexOf(words[i]) != -1) {$("#addcBut").attr("disabled", "disabled");$("#er").fadeIn("slow").text(error);setTimeout('$("#er").fadeOut("slow")', 7500);break;}  
   else{$("#addcBut").attr("disabled", 0);setTimeout('$("#er").fadeOut("slow")', 7500);}   
   }  
   });  
   });


 
Дата: Суббота, 23.06.2012, 10:33 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Shaman,
А баг скрипта в том, что он в любом случае, почемуто, блокирует кнопку "отправить", как только начинаешь вводить коментарий, независимо от наличия запрещённых слов.

Попробуй заменить вот это:
Code
$("#addcBut").attr("disabled", 0);

на вот это:
Code
$("#addcBut").removeAttr('disabled');


А если честно - затея не очень.

По теме:
» Антимат для форума


 
Дата: Суббота, 23.06.2012, 10:57 |
Shaman
Лейтенант
Группа: Проверенные
Сообщений: 44
Награды: 0
Репутация: 0
Статус: Offline


А если честно - затея не очень.

А почему затея не очень?
Я его хочу использовать не как антимат, а чтобы блокировать добавление некоторых сайтов, типа летитбита и т.п.
И мне он показался очень даже приемлемым в моем случае.

кстати, вроде заработало нормально, спасибо.

Добавлено (23.06.2012, 10:57)
---------------------------------------------
да, всётаки туповатый скрипт походу...
Так срабатывает вроде нормально, однако если забиваешь сайт через bb код, он увы, не срабатывает и благополучно пропускает комент, даже с запрещённым сайтом sad
а если дальше продолжаешь вводить текст, тогда он срабатывает...
а самой проверки при отправлении нету.


Сообщение отредактировал Shaman - Суббота, 23.06.2012, 11:01
 
Дата: Суббота, 23.06.2012, 17:37 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Shaman,
Я его хочу использовать не как антимат, а чтобы блокировать добавление некоторых сайтов, типа летитбита и т.п.

Ну, для этих целей, подойдет.
А как именно антимат, конечно, вариант тоскливый.

а самой проверки при отправлении нету.

Про проверку при отправлении, по ссылке выше, через функцию.

Вобще не очень хороший вариант вешать событие на каждое нажатие клавиши, вы представляете как нагрузка если сообщение большое и человек печатает руками? это при каждом нажатии запускается цикл перебирающий весь словарь и ищущий вхождение в текст сообщение, количество инъекций возрастает в геометрической прогрессии в зависимости от объема словаря.

Не говоря уже о том, что поиск очень посредственный.


 
Дата: Суббота, 23.06.2012, 18:56 |
Shaman
Лейтенант
Группа: Проверенные
Сообщений: 44
Награды: 0
Репутация: 0
Статус: Offline


Про проверку при отправлении, по ссылке выше, через функцию.

ну то как я понял для форума, а мне нужно для коментариев


 
Скрипты и коды для юкоз - Форум аццкого кодера » Раздел для начинающих » Вопросы/ответы на тему JQuery и JScript на сайтах в uCoz » Помогите исправить баг в скрипте
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия