我有几个通过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不接受来自子域的回复。
感谢所有建议。我确实学到了一些新的方法来照亮猫咪
答案 0 :(得分:1)
尝试使用完成功能
$ .ajax({url:'/'})done(functional(data){});
答案 1 :(得分:1)
尝试使用replaceWith
$("#head-form").replaceWith(data);