如果出现错误,如何禁用表单onsubmit?

时间:2014-01-08 19:55:51

标签: javascript html forms form-submit

我有一个收集用户数据并插入数据库的表单。在提交之前,数据已经过验证,提交后窗口关闭。我正在使用try / catch进行错误处理,所以当出现错误时我不希望窗口关闭。

这就是表单行的样子:

<form target="_self"  method="post" id = "questionnaire" class="validate" onsubmit="submit();window.close()">

基本上我正在尝试做的是如果onsubmit =“”

有错误

由于

2 个答案:

答案 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

不带jQuery的不显眼的Javascript

//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);
}