提交表单后不显示感谢消息

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";
                        }
                    }
                });
            });
        });

url 的响应是这样的:

{"result":"success","data":...

我的代码在下面的 codepen URL: http://codepen.io/abbor123/pen/EgjLdR

您能否解释一下我的编码问题阻碍了页面中文本的显示?

P.S.: 我是初学者,所以我请求你对我温柔一点。 :)

谢谢。 AB

尝试替换:

document.getElementById("thankyou_message").style.display = "inline";

至:

$('#thankyou_messa').fadeIn();

我认为如果您的示例数据正确,您应该尝试此代码:

if(result.result.indexOf("success") > -1){
 document.getElementById("thankyou_message").style.display = "inline";
}

您正在 JSON 对象中执行 indexOf 您应该在字符串上执行此操作

http://www.w3schools.com/jsref/jsref_indexof.asp

根据您发布的回复,我认为您收到了 json 回复。然后你可以像这样检查它。

success: function(response) {
    if(response.result == 'success') {
      document.getElementById("thankyou_message").style.display = "inline"; 
    } else {
      document.getElementById("thankyou_message").style.display = "none";
    }
}

检查此示例代码,其中 returns 一个 json 响应。 https://gist.github.com/rashivkp/ef581ea4f4d4e7fba90086ea2c6bb5d2