0

我知道这是一个广泛涵盖的主题,但我一直在网上搜索,但找不到针对我的具体问题的解决方案。

我想用 jQuery/AJAX 做什么(如标题中所述):

我不想要用户可以填写的任何表格。我只想要一个按钮(一些 HTML 元素),单击该按钮将自动生成的邮件发送到预定义的地址。内容、主题或其他任何内容都不需要由查看者/用户“填写”。

只有一个变量(脚本将插入正确的值)应该放在电子邮件内容的某处。

单击按钮时,应发送邮件,该按钮应替换为“谢谢……”-消息,就是这样!没有重定向到另一个页面或诸如此类的东西。

到目前为止,我发现可能有用的内容:

$.ajax({
       type: "...",
       url: "...",
       cache: ...,
       contentType: "...",
       data: "{ 'body':'"  + myMsg + "'," +
                 "'to': '" + myAddr + "'," +
                 "'from': 'AUTOMAILER'," +
                 "'subject': " + mySubject + mySpecVar + "'" +
             "}",
       dataType: "...",
       complete: function (transport) {  if (transport.status == 200) $("#myButtonContainer").html("Success"); else alert("Please try again later"); }
   });

假设我的 HTML 是:

<p id="notify">Notify!</p>

我的 JS 部分会像这样开始:

<script>
    $(document).ready(function(){
        $("#notify").click(function(){

            // THE JQUERY/AJAX STUFF HERE?

        });
    });
</script>

我假设我至少还需要某种 .php 文件?貌似还是没看懂。。。

我仍然非常缺乏经验,非常感谢您的解决方案,甚至是朝着正确方向轻推!

如果这个问题已经为这个网站上的某个人解决了,我很抱歉。我没找到。

编辑:这一切都应该发生在客户端(尽可能)。这意味着电子邮件内容最终是在客户端生成的。对不起,忘了提。

4

3 回答 3

1

你忘了提一些重要的事情。生成电子邮件内容的“脚本”是客户端还是服务器端?

您所需要的只是可点击元素:

<button type="button" onclick="doStuff()">Send</button>

ajax方法:

<script>
function doStuff()
{
    //var data =... ANY DATA YOU MIGHT NEED
    $.ajax({
       type: "POST",
       url: "sample.php",
       data: data,
       dataType: "text"
    });
}
//ADD here some jquery to change the button text
</script>

然后你可以很容易地找到一个 php 脚本来发送电子邮件。如果电子邮件地址永不更改,您可以对其进行硬编码

于 2013-01-30T13:56:33.077 回答
0

您的 $.ajax 方法很好,但您需要一个最终发送邮件的服务器操作(在“url”中设置)。浏览器无法单独完成。

于 2013-01-30T13:50:40.623 回答
0

电子邮件发送是在服务器端完成的,即 php。发布到 email.php 文件,然后发送电子邮件。如果您需要进行回调,请确保在 php 中也使用 json 函数。

于 2013-01-30T13:51:22.920 回答