1

嗨,我正在尝试创建一个足够简单的 php 电子邮件表单,而无需使用 jQuery .ajax() 方法刷新页面,但是我希望在发送电子邮件后重置所有字段,目前这不是'由于某种原因不会发生!

这是我的 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() 创建评论系统时使用过的另一个网站上运行良好,但它根本拒绝在这个网站上运行!!!:/

你很沮丧,西蒙。

编辑:表格:

    <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

您不能使用 ajaxPOST跨域(请阅读CORS了解详情);出于安全原因,浏览器会阻止它,因为它可能会将您(和您的数据)带到阴暗的网站,而您不会注意到它。

如果您发布的脚本在同一台服务器上,您应该删除域名并使用相对于网站根目录的路径:

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