0

jQuery AJAX を介して送信されているフォームがいくつかあります。これらは基本的に、受信する PHP ファイルが 2 つの電子メールを生成する連絡先フォームなどの一方向フォームです。

ユーザーに視覚的な確認をトリガーできるように、適切な返信を送信する方法でプロセスを終了する方法を見つけようとしています。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の経験は、以前の2つの使用に限定されています:(

私は悪い

これはクロスドメインの問題で、Firefox はサブドメインからの返信を受け入れませんでした。

すべての提案をありがとう。猫の皮を剥く新しい方法をいくつか学びました

4

2 に答える 2

1

done 関数を使ってみる

$.ajax({url: '/'}).done(関数(データ) {});

于 2013-04-24T04:34:54.290 に答える
1

replaceWith を使用してみてください

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