我有一个收集用户数据并插入数据库的表单。在提交之前,数据已经过验证,提交后窗口关闭。我正在使用try / catch进行错误处理,所以当出现错误时我不希望窗口关闭。
这就是表单行的样子:
<form target="_self" method="post" id = "questionnaire" class="validate" onsubmit="submit();window.close()">
基本上我正在尝试做的是如果onsubmit =“”
有错误由于
答案 0 :(得分:2)
像这样:
<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();">
答案 1 :(得分:2)
您需要处理表单的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's 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);
}