0

お問い合わせフォームの送信後にいくつかの項目を追加しようとしています。残念ながら、アイテムを追加するドキュメントを指定する方法がわかりません。これが完全なコードです。助けてくれる人?

<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];

$mail_to = 'contact@jeremyblaze.com';
$subject = 'Support Request';

$body_message = 'From: '.$field_name."\n";
$body_message .= 'Email: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#submit").append("<p class='success'>Thanks! Your email has been sent.</p>");
        });
    </script>
<?php
}
else { ?>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#submit").append("<p class='error'>Sorry, something has gone wrong.</p>");
        });
    </script>
<?php
}
?>
4

2 に答える 2

0

ワーキングデモhttp://jsfiddle.net/NYac5/

 $(document).ready(function () {
     $("#submit").after("<p class='error'>Sorry, something has gone wrong.</p>");
 });
于 2013-07-21T03:42:41.817 に答える
0

コードのこのセクションでは、PHP、HTML、および Javascript が混在しています。このようには機能しません。

if ($mail_status) { ?>
  <script type="text/javascript">
  .
  .
  .
  </script>
<?php

2 つのうちのいずれかを行う必要があります。メールステータスを含む新しいドキュメントを発行するか、Ajax 呼び出しに応答を返します (そのようにした場合)。

例えば

if ($mailStatus) {
?>
<!doctype html><html><head></head><body>
  <p class='success'>Thanks! Your email has been sent.</p>
</body></html>
<?php } else {  ?>
<!doctype html><html><head></head><body>
  <p class='failure'>Sorry! Your mail couldn't be sent</p>
</body></html>
<?php }

...また...

if ($mailStatus) {
  header("Content-type: application/json");
  echo '{"errcode":"0","errmsg":"Success - your message was sent"}'
} else {  
  header("Content-type: application/json");
  echo '{"errcode":"99","errmsg":"Sorry - your message couldn't be sent."}'
<?php }
于 2013-07-21T03:43:43.400 に答える