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