[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта


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

Помогите исправить баг в скрипте
[1] Shaman [23.06.2012, 10:21]
Нашол полезный скрипт. проверил, работает, но содержит серьёзный баг.
Смылс скрипта заключается в том, чтобы не разрешить писать в коментариях запрещённые слова, типа антимата или антиспама. Скрипт срабатывает сразу, если пользовательвводит слова из базы, сразу вылазит предупреждение, типа запрещенное слово, и деактивирует кнопку "отправить".

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

вот код скипта стянутого с 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);}   
   }  
   });  
   });
[2] likbezz [23.06.2012, 10:33]
Shaman,
А баг скрипта в том, что он в любом случае, почемуто, блокирует кнопку "отправить", как только начинаешь вводить коментарий, независимо от наличия запрещённых слов.

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

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


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

По теме:
» Антимат для форума
[3] Shaman [23.06.2012, 10:57]
А если честно - затея не очень.

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

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

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


Сообщение отредактировал Shaman - Суббота, 23.06.2012, 11:01
[4] likbezz [23.06.2012, 17:37]
Shaman,
Я его хочу использовать не как антимат, а чтобы блокировать добавление некоторых сайтов, типа летитбита и т.п.

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

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

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

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

Не говоря уже о том, что поиск очень посредственный.
[5] Shaman [23.06.2012, 18:56]
Про проверку при отправлении, по ссылке выше, через функцию.

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


Полная версия сайта