javascript电子邮件验证的问题

javascript电子邮件验证的问题,javascript,Javascript,我正在制作一个可以发送电子邮件的联系表单,但我在确保人们确实在输入数据方面遇到了困难(我知道我需要进行更深入的验证,但我想首先确保它工作正常)。当用户单击send时,javascript将检查以确保字段已填写。如果是这样,它将在服务器端再次验证,然后发送消息(工作正常),如果不是这样,它将显示警报,不应发送消息。 但是,使用此javascript,如果字段为空,它将显示错误消息,然后发送电子邮件。我做错了什么 <script type="text/javascript">

我正在制作一个可以发送电子邮件的联系表单,但我在确保人们确实在输入数据方面遇到了困难(我知道我需要进行更深入的验证,但我想首先确保它工作正常)。当用户单击send时,javascript将检查以确保字段已填写。如果是这样,它将在服务器端再次验证,然后发送消息(工作正常),如果不是这样,它将显示警报,不应发送消息。
但是,使用此javascript,如果字段为空,它将显示错误消息,然后发送电子邮件。我做错了什么

<script type="text/javascript">
                function validate() {
                    var x=document.forms['mailcontact']['name'].value; 
                    var y=document.forms['mailcontact']['email'].value; 
                    var z=document.forms['mailcontact']['subject'].value; 
                    if (x == '' || x == null || x == ' name') {
                        alert("You need to enter a name");
                    }
                    else if (y == '' || y == null || y == ' email') {
                        alert("You need to enter your email");
                    }
                    else if (z == '' || z == null || z == ' subject') {
                        alert("You need to enter a subject line");
                    }   
                    else {
                        document.forms['maincontact'].submit();
                    }
                }
            </script>

            <form method="POST" action="mail.php" id="mailcontact">
                <input value=" name" size="25" id="contactname" type="text" name="name" onblur="if(this.value=='') this.value=' name';" onfocus="if(this.value==' name') this.value='';" /> 
                <input value=" email" size="25" id="contactemail" type="text" name="email" onblur="if(this.value=='') this.value=' email';" onfocus="if(this.value==' email') this.value='';" />
                <input value=" subject" size="25" id="contactsubject" type="text" name="subject" onblur="if(this.value=='') this.value=' subject';" onfocus="if(this.value==' subject') this.value='';" />
                <textarea name="message"> message</textarea>
                <input onclick="validate()" value="validate_then_send" type="image" src="../images/sendbutton.png" style=" width: 200px; border: none; position: relative; left: 360px;" />
            </form>​

函数验证(){
var x=document.forms['mailcontact']['name'].value;
var y=document.forms['mailcontact']['email'].value;
var z=document.forms['mailcontact']['subject'].value;
如果(x=''| | x==null | | x=='name'){
警报(“您需要输入名称”);
}
如果(y=''| | y==null | | y=='email'){
提醒(“您需要输入您的电子邮件”);
}
else如果(z=''|| z==null | | z=='subject'){
警报(“您需要输入主题行”);
}   
否则{
document.forms['maincontact'].submit();
}
}
消息
​

函数验证(){
var x=document.forms['mailcontact']['name'].value;
var y=document.forms['mailcontact']['email'].value;
var z=document.forms['mailcontact']['subject'].value;
如果(x=''| | x==null | | x=='name'){
警报(“您需要输入名称”);
}
如果(y=''| | y==null | | y=='email'){
提醒(“您需要输入您的电子邮件”);
}
else如果(z=''|| z==null | | z=='subject'){
警报(“您需要输入主题行”);
}   
否则{
document.forms['maincontact'].submit();
}
}
消息
​
在发送按钮中使用
onclick=“return validate();”
,并让
validate()
函数返回true表示成功,返回false表示失败。
<script type="text/javascript">
                function validate() {
                    var x=document.forms['mailcontact']['name'].value; 
                    var y=document.forms['mailcontact']['email'].value; 
                    var z=document.forms['mailcontact']['subject'].value; 
                    if (x == '' || x == null || x == ' name') {
                        alert("You need to enter a name");
                    }
                    else if (y == '' || y == null || y == ' email') {
                        alert("You need to enter your email");
                    }
                    else if (z == '' || z == null || z == ' subject') {
                        alert("You need to enter a subject line");
                    }   
                    else {
                        document.forms['maincontact'].submit();
                    }
                }
            </script>

            <form method="POST" action="mail.php" id="mailcontact">
                <input value=" name" size="25" id="contactname" type="text" name="name" onblur="if(this.value=='') this.value=' name';" onfocus="if(this.value==' name') this.value='';" /> 
                <input value=" email" size="25" id="contactemail" type="text" name="email" onblur="if(this.value=='') this.value=' email';" onfocus="if(this.value==' email') this.value='';" />
                <input value=" subject" size="25" id="contactsubject" type="text" name="subject" onblur="if(this.value=='') this.value=' subject';" onfocus="if(this.value==' subject') this.value='';" />
                <textarea name="message"> message</textarea>
                <input onclick="validate();return false;" value="validate_then_send" type="image" src="../images/sendbutton.png" style=" width: 200px; border: none; position: relative; left: 360px;" />
            </form>​