Перша відповідь - найкраще рішення:
Додайте обробник onsubmit до форми (або за допомогою простого js, або jquery $ (). Submit (fn)), і поверніть false, якщо не виконані ваші конкретні умови.
Більш конкретно з jquery:
$('#your-form-id').submit(function(){return false;});
Якщо ви ніколи не хочете, щоб форма надсилалася, - у такому випадку, чому б просто не залишити атрибут 'action' на елементі форми?
Написання розширень Chrome - це приклад того, де у вас може бути форма для введення користувачем, але ви не хочете, щоб вона надсилалася. Якщо ви використовуєте action = "javascript: void (0);", код, ймовірно, буде працювати, але ви отримаєте цю проблему, коли з'явиться помилка про запуск вбудованого Javascript.
Якщо повністю залишити дію, форма перезавантажиться, що також небажано в деяких випадках під час написання розширення Chrome. Або якщо у вас була веб-сторінка з якимсь вбудованим калькулятором, де користувач міг би надати певні дані та натиснути "Обчислити" або щось подібне.