user1537415
user1537415

Reputation:

Send content created by javascript in PHP mail?

I'm using a javascript shopping cart on a store, and I want to send an order confirmation on checkout. The problem is that the cart isn't saved in database of any kind, and is printed with javascript. How would I attach it to the email? I've included the shopping cart script on the page that sends the mail.

<table class="simpleCart_items"></table> would print the cart, but how would I attach the printed cart to email?

Hidden input or something?

UPDATE

My ajax call looks like this:

var data = $('#yhteystiedot').serialize();
      data.cartContent = $('.simpleCart_items').html(); 
      //alert (dataString);return false;
     $.ajax({
    type: "POST",
    url: "order.php",
    data: data,
    dataType: "text",
    error: function(){ alert("Jotakin meni pahasti pieleen! Yritä uudelleen?");
 },
    success: function() {
 $(document).html("Tilaus lähti.");
        }


  });

Upvotes: 0

Views: 226

Answers (3)

Ivan Hušnjak
Ivan Hušnjak

Reputation: 3503

I asume your $.ajax() call looks something like this:

$('form').submit(function(){
    var dataTrunk = $(this).serializeArray();
    dataTrunk.push( { name: 'cartContent', value: $(your_table_selector).html()});
    $.ajax({
        url: 'mail.php', // your mail script
        data: dataTrunk,
        type: 'post'
    });
    return false;
});

In php you would trap $_POST['cartContent'] and render it in email and send it.

If you are sending email with html and plain text body, then it would probably be a good idea to strip html elements and replace them with chars that are compatible with plain text.

// edited: I've fixed the error

Upvotes: 0

Julien
Julien

Reputation: 81

You can make an ajax call to a php function that sends an email. The argument is the content generated by javascript.

Upvotes: 2

fahad.hasan
fahad.hasan

Reputation: 912

You'll need to post the cart values to serverside PHP script and recreate the HTML for the cart in order to be able to send it through email. You can do direct form post or ajax post based on your need.

Upvotes: 1

Related Questions