我正在尝试为用户发送电子邮件的功能,电子邮件应该只包含页面中的1个div(注意:该div具有以前添加了jquery拖动和克隆功能的元素)。我不知道如何使用其子元素复制整个div并将它们添加到隐藏字段中,以便稍后可以使用POST方法发送thim,然后使用电子邮件功能发送它。有什么想法和建议吗?
感谢您的时间和帮助
答案 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']
获取另一方的数据