使用其元素获取整个div并使用php mail函数发送它

时间:2012-01-20 12:28:52

标签: php javascript jquery html css

我正在尝试为用户发送电子邮件的功能,电子邮件应该只包含页面中的1个div(注意:该div具有以前添加了jquery拖动和克隆功能的元素)。我不知道如何使用其子元素复制整个div并将它们添加到隐藏字段中,以便稍后可以使用POST方法发送thim,然后使用电子邮件功能发送它。有什么想法和建议吗?

感谢您的时间和帮助

3 个答案:

答案 0 :(得分:5)

比如说你的html就像是

<div id="email-data">
    <div id="content">
        some Data Here
    </div>
</div>
<a id="sendEmail" >Send Email</a>

您可以使用jquery选择div并通过ajax将数据发送到php文件,然后从该文件发送电子邮件

$(document).ready(function(){

  $('#sendEmail').click(function(){
     $.ajax({
         type: 'POST',
         url: 'sendEmail.php',
         data: { content: $('#email-data').html()}
     });
  });

});

在后端你可能会检查$ _POST ['content'](比如使用php)并相应地修改你的逻辑。这是Jsfiddle代码

答案 1 :(得分:2)

假设您有一个标识为mail的表单,以及标识为content且名称为content的隐藏输入,并提交了按钮。

此外,您还拥有div,您可以在其中操作所有内容,ID为mail-body

然后,此代码将在提交之前预处理数据,并且在预处理时将所有内容从工作$('div#mail-body')放入隐藏字段content

$(document).ready(function()
{
    // Live means that if the html were loaded via AJAX, this trigger will also work.
    $('form#mail').live('submit', function(e) {
        $(this).find('input[type="hidden"]#mail-body').val($('div#content').html());
    });
});

然后,您已经在服务器端获得了名为$('div#content')$_POST['content']的post / get var $_GET['content']中的所有内容。

答案 2 :(得分:2)

如果我认为我理解正确

$(document).ready(function(){

var html = $('#divID').html();
$('#divID').hide();

//when you want to send it to php
  $.ajax(function{
    type="POST",
    url:"email.php",
    data:"data="+html,
    success:function(response){
       $('#divID').show().html("email sent");
    }
  });

});

使用$ _POST ['data']

获取另一方的数据