成功消息不起作用[重复]
Posted
技术标签:
【中文标题】成功消息不起作用[重复]【英文标题】:Success message doesn't work [duplicate] 【发布时间】:2018-01-13 22:43:27 【问题描述】:我有一个小问题, 我正在处理联系表格, 我的问题是ajax调用没有显示成功消息,它坚持 关于“发送” 该调用正在工作,因为它转到 php 页面并从那里运行该函数,因此一切正常,期待成功消息。 我很乐意为您提供帮助,谢谢!
这是 javascript 页面:
var nameRegx = /^[' a-zא-ת]+(\s[' a-zא-ת]+)*$/i,
emailRegx = /^([\w-\.]+@([\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);
【问题讨论】:
尝试使用 if (response) 而不是 if (response == true) 请停止多次发布同一个问题。 【参考方案1】:在success : function(response)
中,对象响应不是布尔值。它是ajax调用的返回响应,它将是一个字符串。
只需从您的代码中删除 if(response == true)
即可。
然后,它会正常工作。
【讨论】:
以上是关于成功消息不起作用[重复]的主要内容,如果未能解决你的问题,请参考以下文章