Як зупинити виконання js-скрипта

Вам слід знати, що форму відправити може не тільки клік на кнопці. Спроба зупинити відправку форми відстеженням кліка - ознака новачка.

Найпростіший і вірний шлях - правильно використовувати атрибути елементів форм jsfiddle.net/petroveg/qoh0oft5/5

Але вже якщо так хочеться саме з класами, то jsfiddle.net/petroveg/qoh0oft5/6
Варіант однозначно гірше, бо ви повинні відслідковувати кнопку при відправці, тоді як в першому варіанті атрибут disabled вже сам по собі запобігає надсилання форми будь-яким призначеним для користувача способом.

Ну і самий жахливу варіант - тип кнопки button. Доведеться і відправку, і клік відстежувати jsfiddle.net/petroveg/qoh0oft5/7

Управління станом кнопок для першого випадку:


Для другого: і третього

@Petroveg. Велике спасибі! Буду розбиратися і думати.
Щодо класів. Вони потрібні тільки для того, щоб при натисканні на кнопку, при незаповнених полях, рамка у них ставала червона. Для цього є скрипт: jsfiddle.net/429rwg1t і в ньому використовуються саме класи. З атрибутом disabled цей трюк не пройде.

Як зупинити виконання js-скрипта

@Petroveg. можна напевно трохи скоротити за допомогою hasClass ()

@Romeo_viruS. ви точно впевнені, що ось це:
.is ( '. test')
довший, ніж
hasClass ( 'test')

З рахунком все нормально?)

Як зупинити виконання js-скрипта

@Petroveg. я не про цей приклад

@Romeo_viruS. будувати функціонал на класах - дилетантизм. Класи - візуалізація.

@Petroveg. А я і не сперечаюся, що в JS я дилетант, якщо не сказати гірше. Тому і взяв готовий скрипт. І з'ясувалося, що він криво працює.