У меня есть форма, которая собирает пользовательские данные и вставляет их в базу данных. Перед отправкой данные проверяются, и после отправки окно закрывается. Я использую try/catch для обработки ошибок, поэтому, когда есть ошибка, я не хочу, чтобы окно закрывалось.
Это выглядит так:
<form target="_self" method="post" id = "questionnaire" class="validate" onsubmit="submit();window.close()">
По существу, что я пытаюсь сделать, это если есть ошибка onsubmit = ""
благодаря
Вам необходимо обработать событие submit
вашей формы и отменить отправку.
Здесь DEMO
//Get the form element.
var form = document.getElementById('questionnaire');
//Declare your event handler
var onMyFormSubmit = function (e) {
e = e || window.event; //Get the event if it not passed in.
if (!valid) { //Do your validation here.
e.returnValue = false;
e.preventDefault();
return false;
}
};
//Attach an event handler to the submit event.
if (form.addEventListener) {
form.addEventListener('submit', onMyFormSubmit, false);
} else {
form.attachEvent('onsubmit', onMyFormSubmit);
}
Как это:
<script type="text/javascript">
function submit()
{
// do error checking
if ( /*passes*/ )
return true;
else
return false;
}
</script>
<form target="_self" method="post" id="questionnaire" class="validate" onsubmit="return submit();">
submit
- это зарезервированное слово: функция Onsubmit, называемая submit .