admin管理员组文章数量:1290095
I am trying to make an function for users to send an e-mail, the e-mail should contain only 1 div from the page(note: that div has elements previously added with the jquery drag and clone function). I dont have an idea how to copy the entire div with its child elements and add them into a hidden field so that I could later send thim with POST method and then send that with e-mail function. Any ideas and remendations?
Thank you for your time and help
I am trying to make an function for users to send an e-mail, the e-mail should contain only 1 div from the page(note: that div has elements previously added with the jquery drag and clone function). I dont have an idea how to copy the entire div with its child elements and add them into a hidden field so that I could later send thim with POST method and then send that with e-mail function. Any ideas and remendations?
Thank you for your time and help
Share Improve this question asked Jan 20, 2012 at 12:28 Igor IvanovskiIgor Ivanovski 4152 gold badges6 silver badges13 bronze badges 4-
1
$('#divid').text();
or$('#divid').html();
will get you the source ...$('#hiddenid').val(valuefromabove);
would set it – Manse Commented Jan 20, 2012 at 12:32 -
Since you say you are using jQ this is very easy - just do
var theHTML = '<div>'+$('#idOfDiv').html().'</div>';
– DaveRandom Commented Jan 20, 2012 at 12:32 - Is it necessary to copy the entire div, or do you really want the values of elements within the div? – Herbert Commented Jan 20, 2012 at 12:34
- 1 Be warned that most email clients (including Outlook 2007, Gmail, Hotmail, Yahoo Mail, etc) render a very limited set of HTML and CSS elements. i.e. Although you can send it, the HTML may end up looking terrible as an email. – Dan Blows Commented Jan 20, 2012 at 12:47
3 Answers
Reset to default 5Say for example your html is something like
<div id="email-data">
<div id="content">
some Data Here
</div>
</div>
<a id="sendEmail" >Send Email</a>
you can use jquery to select the div and send data through ajax to a php file and then send email from that file
$(document).ready(function(){
$('#sendEmail').click(function(){
$.ajax({
type: 'POST',
url: 'sendEmail.php',
data: { content: $('#email-data').html()}
});
});
});
And in the back end you could probably check for $_POST['content'] (say im using php) and modify your logic accordingly . Here's the Jsfiddle code
Suppose you have a form with id mail
, and hidden input with id content
and name content
, and submit button.
Also, you have div, where you manipulate all your entire content, with id mail-body
.
Then, this code will preprocess data before submitting, and while preprocessing puts all content from working $('div#mail-body')
into hidden field 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());
});
});
Then you've got on a server side everything that were in $('div#content')
in post/get var named $_POST['content']
or $_GET['content']
.
If i think i've understood you correctly
$(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");
}
});
});
get the data on the other side with $_POST['data']
本文标签: javascriptGET entire div with its elements and send it with php mail functionStack Overflow
版权声明:本文标题:javascript - GET entire div with its elements and send it with php mail function - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741490625a2381604.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论