2017-08-06 118 views
0

我有一个小问题,
我的工作接触形式, 我的问题是Ajax调用没有显示成功消息,它“送” 坚持 该调用正在工作,因为它进入PHP页面并从那里运行该功能,所以一切正常,期望成功消息。 我真的很乐意提供帮助,谢谢!成功消息不起作用

这是JavaScript页面:

var nameRegx = /^[' a-zא-ת]+(\s[' a-zא-ת]+)*$/i, 
    emailRegx = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})$/, 
    phoneRegx = /^(?:0(?!(5|7))(?:2|3|4|8|9))(?:-?\d){7}$|^(0(?=5|7)(?:-? 
    \d){9})$/, 
    td = 'p.text-danger', 
    sa = '#submitAnimate', 
    sb = '#submitBtn', 
    nf = '#name', 
    ef = '#email', 
    pf = '#phone', 
    mf = '#message'; 

$(sa).hide(); 

$('#contactForm').on('submit', function (event) { 

    event.preventDefault(); 
var isValid = true; 
$(td).text(''); 
$(' input[type="text"], textarea').removeClass('error'); 
$(sb).attr('disabled', true); 
    $(sa).show(); 

var userData = { 
name: $(nf).val().trim(), 
email: $(ef).val().trim(), 
phone: $(pf).val().trim(), 
message: $(mf).val().trim() 
}; 

if (userData.name.length < 2 || userData.name.length > 70 || 
!nameRegx.test(userData.name)) { 
isValid = false; 
    setError(nf, 'name'); 
    } 

    if (!emailRegx.test(userData.email)) { 
    isValid = false; 
    setError(ef, 'email'); 
    } 

if (!phoneRegx.test(userData.phone)) { 
isValid = false; 
setError(pf, 'phone'); 
    } 

if (userData.message.length < 3) { 
isValid = false; 
setError(mf, 'message'); 
} 

    if (!isValid) { 

$(sb).attr('disabled', false); 
setTimeout(function(){ $(sa).hide(); }, 500); 

} else { 

    $.ajax({ 
    url: "assets/contact_form/process-contact.php", 
    type: "POST", 
    dataType: "html", 
    data: userData, 
    beforeSend: function() { 
    $(sb).val('Sending...'); 
    }, 
    success: function (response) { 

    if (response == true) { 

    successmessage = 'Data was succesfully captured'; 
      $("#gmsg").text(successmessage);//THIS MESSAGE DOESN'T APPEAR 


    } else { 

     $(sb).val('Can not send, please try latter'); 

    } 
    } 
}); 

    } 

}); 

$('input[type="text"], textarea').on('keyup', function() { 
    $(this).next().text(''); 
}); 

    function setError(target, field) { 
setTimeout(function() { 
    $(target).val('').addClass('error'); 
    $(target).next().text('* Please enter your ' + field); 
    }, 500); 
    } 
+0

尝试使用if(response)而不是if(response == true) –

+0

请停止多次发布相同的问题。 – Sparky

回答

0

success : function(response)物体响应不是一个布尔值。它是ajax调用的返回响应,它将是一个字符串。 只是从您的代码中删除if(response == true)。 然后,它会正常工作。