[英]Thank You message not displayed after Form submission
提交表单后,我试图在同一页面上显示感谢消息。 但是,即使正确提交了表单,也不会显示该消息。
我正在使用以下JavaScript来满足此要求:
$(function ()
{
$('form').submit(function (e)
{
e.preventDefault();
$.ajax(
{
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result)
{
if(result.indexOf("success") > -1)
{
document.getElementById("thankyou_message").style.display = "inline";
}
}
});
});
});
网址的响应如下所示:
{"result":"success","data":...
我的代码位于以下代码笔URL中: http ://codepen.io/abbor123/pen/EgjLdR
您能否说明一下我的编码中妨碍页面文本显示的问题?
PS:我是一个初学者,因此我要求您对我保持温柔。 :)
谢谢。 AB
我认为,如果您的示例数据正确,则应该尝试以下代码:
if(result.result.indexOf("success") > -1){
document.getElementById("thankyou_message").style.display = "inline";
}
您正在JSON对象中执行indexOf,则应在字符串上执行此操作
从您发布的响应中,我假设您收到了json响应。 那么您可以像这样检查它。
success: function(response) {
if(response.result == 'success') {
document.getElementById("thankyou_message").style.display = "inline";
} else {
document.getElementById("thankyou_message").style.display = "none";
}
}
检查此示例代码,该示例代码返回json响应。 https://gist.github.com/rashivkp/ef581ea4f4d4e7fba90086ea2c6bb5d2
尝试替换:
document.getElementById("thankyou_message").style.display = "inline";
至:
$('#thankyou_messa').fadeIn();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.