如何在php中创建对ajax表单提交的有用响应

时间:2013-04-24 04:23:21

标签: jquery dom

我有几个通过jQuery AJAX提交的表单,实际上是一种表单形式,例如联系表单,接收PHP文件只生成两封电子邮件。

我试图找出如何以发送合适回复的方式结束流程,以便我们可以触发对用户的视觉确认。我正在使用jQuery 1.9.1。

我目前的代码是(JS):

var subject = $("input#subject2").val(), ... other vars,

dataString = 'subject=' + subject + '&name=' + name + '&email=' + email + '&message=' + message + '&webpage=' + webpage;

$('#head-form').html("<div id='message'><br><br>Cogitating what you asked....</div>");

$.post("http://mydomain.com/forms/send.php", dataString, function(data) {
   $('#head-form').html(data);
});

(PHP):

<?php

... create and send email bits ...

echo '<div id='message'><h3>Thanks</h3>We will be in touch soon.</div>';

?>

表单提交部分工作得很好,发送消息,当自己查看时,send.php最终会显示所需的文本。

然而,在表单结束时,表单生成的html没有被写入所需的div。它仍然是最初在点击时添加的Cogitating html。

这可能很简单,但我的ajax经验仅限于以前的两个用途:(

我不好

这是一个跨域问题,Firefox不接受来自子域的回复。

感谢所有建议。我确实学到了一些新的方法来照亮猫咪

2 个答案:

答案 0 :(得分:1)

尝试使用完成功能

$ .ajax({url:'/'})done(functional(data){});

答案 1 :(得分:1)

尝试使用replaceWith

$("#head-form").replaceWith(data);