我使用JQuery验证联系表单,但是当我按下发送按钮时它没有提交。这是代码:
<script>
$(document).ready(function()
{
var nameok = 0;
var telephoneok = 0;
var emailok = 0;
var messageok = 0;
var validok = 1;
// Name Validation
$('#name').blur(function()
{
var name=$("#name").val();
if(name.length < 1){
nameok = 0;
}
else {
nameok = 1;
}
});
// Telephone Validation
$('#telephone').blur(function()
{
var telephone=$("#telephone").val();
if(telephone.length < 1){
telephoneok = 0;
}
else {
telephoneok = 1;
}
});
// E-Mail Validation
$('#email').blur(function()
{
var email=$("#email").val();
if(email.length < 1){
emailok = 0;
}
else {
emailok = 1;
}
});
// Message Validation
$('#message').blur(function()
{
var message=$("#message").val();
if(message.length < 1){
messageok = 0;
}
else {
messageok = 1;
}
});
// Valid Validation
$('#valid').blur(function()
{
var valid=$("#valid").val();
if(valid.length > 0){
validok = 0;
}
else {
validok = 1;
}
});
// Contact Validation
if(telephoneok == 1 || emailok == 1){
contactok = 1;
}
else{
contactok = 0;
}
// Submit button action
$('#submit').click(function()
{
if(nameok == 1 && contactok == 1 && messageok == 1 && validok == 1)
{
$('#submit').hide();
$('#form').submit();
}
else
{
$('#submit').show();
}
return false;
});
//End
});
</script>
我的表单打开:
<form id="form" action="mail.php" method="POST">
我认为错误可能出在Contact Validation
部分,但我不确定。关于如何使这个工作的任何建议?
答案 0 :(得分:0)
您的问题是return false
。无论您的验证通过还是失败,它都会被执行。这不允许表单继续。将其移至最终的其他情况,这只会告诉表单,当您的某个验证器失败时,表单不能继续。
{
$('#submit').show();
return false;
}