0

我有几个通过 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 不接受来自子域的回复。

感谢所有的建议。不过我确实学到了一些给猫剥皮的新方法

4

2 回答 2

1

尝试使用 replaceWith

$("#head-form").replaceWith(data);
于 2013-04-24T04:38:32.177 回答
1

尝试使用完成功能

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

于 2013-04-24T04:34:54.290 回答