Вы никогда не указывали желаемые результаты, поэтому я могу только предположить, что вы хотели бы видеть значение, предупрежденное о запрете отправки формы.
Если вы должны использовать встроенный JavaScriptвам нужно будет использовать return false;
для предотвращения отправки формы, хотя я уверен, что вы хотите, чтобы это зависело от результата foo()
, поэтому вместо return false
вы можете использовать return foo();
, что позволитВы можете выбрать, следует ли предотвратить событие:
onsubmit="return foo()"
///JS
function foo() {
alert(...);
return false;
}
Проблема с кодом, подобным этому, заключается в том, что он напрямую зависит от HTML, вызывающего JS, что нарушает замечательную структуру MVC HTML CSS иJavaScript.Вместо этого добавьте обратный вызов события в коде JS:
//make sure you add an `[id]` to your form
var form = document.getElementsById('formid');
form.onsubmit = foo;
function foo() {
//do stuff
return false;
}