【问题标题】:form which submits via AJAX which returns a JSON response [closed]通过 AJAX 提交的表单返回 JSON 响应 [关闭]
【发布时间】:2012-09-22 14:56:23
【问题描述】:

我已经设置好表单并编写了 jquery,但我不知道应该为 mail.php 中的 PHP 编写什么。

任何帮助都会很棒

HTML:

<form id="contact-form" action="mail.php" method="GET">
   <fieldset>
       <label for="email">Email</label>
       <input type="email" name="email" id="email" required="">
   </fieldset>

   <fieldset>
       <label for="enquiry">Message</label>
       <textarea name="enquiry" id="enquiry" width="100%" height="100px" required=""></textarea>
   </fieldset>

   <fieldset>
        <input type="submit" name="submit" value="Submit Enquiry">
   </fieldset>

</form>

查询:

$(document).ready(function(){

$("#contact-form").submit( function (){
    $.getJSON('mail.php',$(this).serialize(), function(data) { 
        if(data['success'] == 1)
        {
            $('#contact-form').html("<p class=\"success\">"+data['message']+"</p>");
        }
        else
        {
                alert(""+data['message']+"");
                $('#contact-form *').removeClass('error');
                for(key in data.errors)
                {
                    $('#'+key).addClass('error');
                }
        }
    });
    return false;
});

});

PHP:

?

【问题讨论】:

  • 你在谷歌上搜索过 PHP 电子邮件示例吗?
  • 首先,您是否真的做过自己的研究?其次,您希望表单做什么?它应该向指定地址发送电子邮件吗?添加到数据库?我们真的需要更多信息,您可以先尝试自己解决这个问题,然后在不起作用时寻求帮助,这样会更好!
  • 我很抱歉如此含糊。通常我会很乐意坐下来解决这个问题,但在之前给出它并且没有任何 PHP 知识之后,我最终让自己感到困惑并在这里伸出手
  • 好的。检查此页面:php.net/mail。通常你可以输入:php.net/[your keyword here]然后回车!

标签: php jquery ajax json forms


【解决方案1】:

在服务器端使用它

parse_str($_GET["data"],$array);

mail($array["email"]);

在 jquery 中

 $.getJSON('mail.php',{"data":$(this).serialize()}, function(data) { ...

                  or

var data=$("#contact-form").serialize();
$.ajax(
url:'mail.php';
{data:{"data":data},
datatype:"json",
success:(function(data){

   if(data['success'] == 1)
        {
            $('#contact-form').html("<p class=\"success\">"+data['message']+"</p>");
        }
        else
        {
                alert(""+data['message']+"");
                $('#contact-form *').removeClass('error');
                for(key in data.errors)
                {
                    $('#'+key).addClass('error');
                }
        } 
    })

【讨论】:

  • 你忘了mail数组!
  • 我还是没有看到mail
  • @321X 你在说哪个mail
  • 他的问题是如何发送电子邮件。所以我想念mail 的东西:php.net/mail
猜你喜欢
  • 2011-03-11
  • 2018-01-10
  • 1970-01-01
  • 2013-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多