javascript:提交前验证表单?

javascript:提交前验证表单?,javascript,forms,Javascript,Forms,我真的很感谢任何人的帮助,因为我似乎无法让它工作。在提交表单之前,我使用javascript代码检查表单。我检查像空盒子之类的东西 如果框为空,则应显示包含标准错误文本的三个div之一 “有一个错误” 我有三个不同的div,div1 div2和div3,其中包含错误语句。我这样做是因为我把我的表格分为三个部分。因此,我希望我的javascript对表单中的三个不同部分执行三个不同的检查,如果在哪个部分发生错误,则显示该部分的div1、div2或div3 Section 1 <div 1&

我真的很感谢任何人的帮助,因为我似乎无法让它工作。在提交表单之前,我使用javascript代码检查表单。我检查像空盒子之类的东西

如果框为空,则应显示包含标准错误文本的三个div之一

“有一个错误” 我有三个不同的div,div1 div2和div3,其中包含错误语句。我这样做是因为我把我的表格分为三个部分。因此,我希望我的javascript对表单中的三个不同部分执行三个不同的检查,如果在哪个部分发生错误,则显示该部分的div1、div2或div3

Section 1 
<div 1>
<input = firstname>
<input = lastname>
<input = email>
<input = email2>

section 2
<div 2>
<input = contactnum>
<input = mobnum>
<input = postcode>

section 3
<div 3>
<input = compname>
<input = compreg>
第1节
第二节
第三节
这是我的javascript代码,我正试图把它放在一起,但它不起作用,它提交表单时没有做任何检查。请有人告诉我哪里出了问题

<script>
    function validateForm() {
        var a = document.forms["register"]["firstname"].value;
        var b = document.forms["register"]["lastname"].value;
        var c = document.forms["register"]["email"].value;
        var d = document.forms["register"]["email2"].value;
        if (a == null || a == "" || b == null || b == "" || c == null || c == ""|| d == null || d == "") {
            $(".form_error").show();
            $('html,body').animate({
               scrollTop: $(".form_error").offset().top - 180 
            });


            var e = document.forms["register"]["contactnum"].value;
            var f = document.forms["register"]["mobnum"].value;
            var g = document.forms["register"]["postcode"].value;
            if (e == null || e == "" || f == null || f == "" || g == null || g == "") {
                $(".form_error").show();
                $('html,body').animate({
                     scrollTop: $(".form_error").offset().top - 180 
                });


                var h = document.forms["register"]["compname"].value;
                var i = document.forms["register"]["compreg"].value;
                if (h == null || h == "" || i == null || i == "") {
                    $(".form_error").show();
                    $('html,body').animate({
                        scrollTop: $(".form_error").offset().top - 180 
                    });

                    return false;
                }   
            }
        }
    }
 </script>

函数validateForm(){
var a=文档.forms[“register”][“firstname”]。值;
var b=文档.forms[“register”][“lastname”]。值;
var c=文件.表格[“注册”][“电子邮件”].值;
var d=document.forms[“register”][“email2”].value;
如果(a==null | | | a==“”| | b==null | | b==“”| | c==null | | c==“”| d==null | | d==“”){
$(“.form_error”).show();
$('html,body')。设置动画({
scrollTop:$(“.form_error”).offset().top-180
});
var e=文档.forms[“register”][“contactnum”].值;
var f=document.forms[“register”][“mobnum”]值;
var g=文件.表格[“注册”][“邮政编码”].值;
如果(e==null | | e==“”| | f==null | | f==“”| | g==null | | g==“”){
$(“.form_error”).show();
$('html,body')。设置动画({
scrollTop:$(“.form_error”).offset().top-180
});
var h=文档.forms[“register”][“compname”]。值;
var i=文件.表格[“寄存器”][“压缩”].值;
如果(h==null | | h==“”| | i==null | | i==“”){
$(“.form_error”).show();
$('html,body')。设置动画({
scrollTop:$(“.form_error”).offset().top-180
});
返回false;
}   
}
}
}

您应该使用
event.preventDefault()

如果要单击提交按钮,请首先检查所有字段,如果验证失败,请引发
event.preventDefault()
。这样,将阻止表单提交

如果没有错误,将不会引发
preventDefault
,并提交表单

额外资料:

在表单标签中,Submit上有一个字段用于指定验证功能。 诸如此类:

<form name="myForm" onsubmit="return validateForm()" method="post">
    <!-- your inputs -->

</form>


可能重复:但为了尝试和提供帮助,请确保您正在使用
标记本身上的
onSubmit
HTML属性实际执行验证代码。您可以在submit form event上调用此方法,并执行e.preventDefault(),然后验证代码并记录.form.submit();或文件..提交()@创新谢谢,但我尝试了这一点,它没有任何区别表单仍然提交请缓存
文档。表单[“注册”]
而不是重复您所有的时间…提供您的html代码。谢谢,我尝试添加了这一点,但仍然没有阻止表单提交