表单不返回true,不会发送给PHP

时间:2014-05-17 05:00:49

标签: javascript php html forms validation

因此表单的验证有效,但我无法将其发送到php文件。我假设它与返回false / true和结束有关。

function validateForm(contact) {
    var name = document.getElementById('name').value
    var email = document.getElementById('email').value
    var msg = document.getElementById('message').value

    if (name == '') 
        {
        $('.nameerror').html('Please provide your name').fadeIn(1000);      

        }else if
        (!validateName(name)) {
            $('.nameerror').html('Only letters and spaces are allowed').fadeIn(1000);
        }


    if (email == '') 
        {
        $('.emailerror').html('Please provide your email').fadeIn(1000);    
        }else if
        (!validateEmail(email)) {
            $('.emailerror').html('Invalid email format').fadeIn(1000);     
        }



    if (msg == '') 
        {
        $('.msgerror').html('What can we help you with?').fadeIn(1000); 
        }


return false;

if($.trim($('.nameerror').text()) == ''){
    return true;    
} 

};

3 个答案:

答案 0 :(得分:2)

我认为你的最后一段代码应该是这样的:

if($.trim($('.nameerror').text()) == '')
{
    // You can do stuff here first if everything is good.
    return true;    
}
else
{
    // Or you can do stuff here for a failed submission.
    return false;
}

在检查最后一个if语句之前退出该函数。

答案 1 :(得分:0)

您必须使用此代码:

function validateForm(contact) {
    var name = document.getElementById('name').value
    var email = document.getElementById('email').value
    var msg = document.getElementById('message').value

    if (name == '') {
        {
        $('.nameerror').html('Please provide your name').fadeIn(1000);      

        }else if
        (!validateName(name)) {
            $('.nameerror').html('Only letters and spaces are allowed').fadeIn(1000);
        }
        return false;
}


    if (email == '') {
        {
        $('.emailerror').html('Please provide your email').fadeIn(1000);    
        }else if
        (!validateEmail(email)) {
            $('.emailerror').html('Invalid email format').fadeIn(1000);     
        }
    return false;
}

    if (msg == '') {
        $('.msgerror').html('What can we help you with?').fadeIn(1000); 
        return false;
}  

if($.trim($('.nameerror').text()) == ''){
    return true;    
} 

};

答案 2 :(得分:0)

而不是检查特定元素是否包含html ...为什么不设置标记?这使得一切都变得更加简单。


function validateForm(contact) {
    var name = document.getElementById('name').value
    var email = document.getElementById('email').value
    var msg = document.getElementById('message').value
    var flag = true;

    //do this for each of your if statements
    if(there is an error case) {
        //do whatever you want to the DOM
        flag = false;
    }
return flag;

}