Помогите написать скриптик на javascript

12
zaka4ek
На сайте с 24.03.2007
Offline
209
924

Привет, я в javascript полный 0, помогите написать скрипт, который делает кнопку в форме активной только после того, как будут заполнены все поля. В форме всего 3 поля.


<form>
<input class="inputbox" name="name" size="35" maxlength="100" />
<input class="inputbox" name="email" maxlength="100" size="35" />
<textarea name="text" cols="35" rows="10"value=""></textarea>

<input class="button" type="submit" value="Ok!"/>
</form>

А то спамеры достали... Спасибо.

Продвигай с умом Sape (http://www.sape.ru/r.yoJRtSiZZR.php) Продвигай с умом Gogetlinks (https://gogetlinks.net/?inv=sya7n2)
[Удален]
#1
zaka4ek:
спамеры достали

Тогда вам не кнопка нужна и не на JS (JS он против людей работает, а не против спамеров)

embo
На сайте с 05.12.2008
Offline
24
#2

<script language="JavaScript">

function Check()
{
var f = document.forms['f'];

if (f.name.value != '' && f.email.value != '' && f.text.value != '') {
f.send.disabled = false;
}
else {
f.send.disabled = true;
}
}
</script>

<form name="f">
<input class="inputbox" name="name" size="35" maxlength="100" onkeyup="Check()" />
<input class="inputbox" name="email" maxlength="100" size="35" onkeyup="Check()" />
<textarea name="text" cols="35" rows="10"value="" onkeyup="Check()"></textarea>

<input class="button" name="send" type="submit" disabled value="Ok!"/>
</form>
Плавно двигаемся от сапы к статьям (http://miralinks.ru/users/registration/from:4223)
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#3

embo, от спамеров не пройдёт ибо даже AS умеет пробивать это.

Нуно каптчу ставить.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
embo
На сайте с 05.12.2008
Offline
24
#4

согласен про капчу

zaka4ek
На сайте с 24.03.2007
Offline
209
#5

LEOnidUKG, embo, Попробуем, если не прокатит, буду капчу прикручивать

zaka4ek добавил 22.04.2009 в 15:42

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

T.R.O.N
На сайте с 18.05.2004
Offline
314
#6
zaka4ek:
Попробуем, если не прокатит, буду капчу прикручивать

не поможет. Любой нормальный спамер не заполняет форму а стразу обращается к странице из form action с нужными данными.

Либо прикручивайте капчу или создавайте защитную сессию, тоже хорошо спасает, если конечно работаете под IIS

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
malls
На сайте с 08.08.2005
Offline
255
#7
zaka4ek:
LEOnidUKG, embo, Попробуем, если не прокатит, буду капчу прикручивать

а чего пробовать то? итак понятно что не прокатит.

Заставлять пользователя (реального) заполнять все поля в форме (ну кроме случаев регистрации где-нибудь) это вообще не хорошо. В той же форме "обратной связи", "комментирования" и т.п. пользователь должен заполнять только те поля, которые хочет и не более того. Это элементарная "вежливость сайта" по отношению к юзеру. Я, например, вообще никогда не пойду на любой блог, если для того чтобы оставить там коммент (на один сраный сабж) нужно мало того что зарегистрироваться, так еще и чуть не всю свою биографию описать при регистрации.

Спамеру жэе пофиг на яваскрипты в принципе и на серверную часть в частности, т.е. если вы заполнение "всех полей" будете даже на уровне сервера проверять - спамер просто начнет их все автоматом заполнять если ему это надо.

Так что вариант только один - капча, хотя и она далеко уже не панацея.

zaka4ek
На сайте с 24.03.2007
Offline
209
#8

malls, Да уже понятно, что не прокатит =)

А поля Имя, мыло и сообщение в любом случае нужно делать обязательными...

malls
На сайте с 08.08.2005
Offline
255
#9
zaka4ek:
malls, Да уже понятно, что не прокатит =)
А поля Имя, мыло и сообщение в любом случае нужно делать обязательными...

Для кого? Ну вот не хочет человек писать не имя ни мыло. Мыло в целях избежания спама, Имя - просто не хочет. Кто мешает программеру учесть такой вариант и заполнить поля как "аноним" и "без связи" - НИКТО!

А пользователям всегда спокойнее. И обсуждений по любой теме будет больше.

alex_zlo
На сайте с 13.01.2008
Offline
29
#10

Есть такой вариант

<div style='display:none;'><input type='text' name='is_spam'></div>

Юзер соответственно этого поля не видит и не заполнит его.

Потом проверку на заполненность поля делаем.

PS. Большинство спамеров отсекает.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий