【发布时间】:2016-09-11 18:27:32
【问题描述】:
我试图在提交表单后在同一页面中显示感谢信息。但是,即使正确提交了表单,也不会显示消息。
我正在使用以下 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.:我是初学者,因此请您对我温柔一点。 :)
谢谢。 乙
【问题讨论】:
-
您的代码是否进入
if块内? -
有很多东西。在您的示例中,您的结果响应之一不是数组,因此 indexOf 将不起作用。二这是一个json响应吗?您是否检查以确保它正在被解析?
-
根据您返回的 JSON,您要检查
result['result']是否成功,而不仅仅是包含整个 JSON 的result -
为什么不只是
$('#thankyou_message').css({'display', 'inline'});?您已经在使用 jQuery。
标签: javascript html forms form-submit