Событие submit срабатывает, только если форма отправлена пользователем; нет, если оно отправлено через JS.
Таким образом:
<input type="submit" onclick="this.form.submit(); return false;">
Если JS недоступен, это действует как обычная кнопка отправки ... и отправка по-прежнему не срабатывает, так как для этого также требуется JS.
(Присоединение событий с использованием JS вместо внутренних атрибутов событий, как обычно, предпочтительнее, поскольку исключено из этого примера для ясности)