1

こんにちは、jQuery .ajax()メソッドを使用してページを更新することなく、十分に単純なphpメールフォームを作成しようとしていますが、メールが送信されたらすべてのフィールドをリセットしたいのですが、現時点ではそうではありません。なんらかの理由で起こっています!

これが私のjQueryです:

$.ajax({
    url:"http://www.mysite.co.uk/contactMe.php",
    data: {'email': email,'content': content},
    success: function(response){
        $("#mailContent").css({ 'box-shadow': ''}); 
            $("#email").css({'box-shadow': ''});    
            $("#email").val('');
            $("#mailContent").val('');
            alert("DONE");

        return false;
        }
})

これが私のphpです

<?php 

function spamcheck($field)
  {
  //filter_var() sanitizes the e-mail
  //address using FILTER_SANITIZE_EMAIL
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);

  //filter_var() validates the e-mail
  //address using FILTER_VALIDATE_EMAIL
  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }

$email = $_GET['email'];
$content = $_GET['content'];

$mailcheck = spamcheck($email);
  if ($mailcheck==FALSE)
    {

    }
  else
    {//send email
    mail("myemail@googlemail.com", "Subject: Website Contact Form",
    $content, "From: $email" );
    }

?> 

プライバシー保護のためにURLアドレスとメールアドレスを変更したことに注意してください。受信トレイでメールを受信すると、メールは正常に送信されます。私も同じことを使ってみました:

.ajax().done(function{})最悪のことは、.ajax()を使用してコメントシステムを作成したときに使用した別のWebサイトで正常に機能することですが、このサイトではまったく機能しません!!! :/

あなたはイライラしている、サイモン。

編集:フォーム:

    <form name="contact"> Email: <input name="email" type="text" id="email" ><br>
Message:<br> <textarea name="message" rows="20" cols="246" id="mailContent"></textarea><br> 
<input class="button" value=""> </form>
4

1 に答える 1

0

POSTajaxを使用してクロスドメイン化することはできません(詳細についてはCORSを参照してください)。セキュリティ上の理由から、ブラウザは、ユーザー(およびデータ)が気付かないうちに日陰のサイトに移動する可能性があるため、これをブロックします。

投稿するスクリプトが同じサーバー上にある場合は、ドメイン名を削除し、Webサイトのルートからの相対パスを使用する必要があります。

url:"/contactMe.php"
于 2012-12-06T20:39:19.763 に答える