I have a PHP page(main) and would like to call another PHP page(printpage) on mouse click. I need to pass a large text.
I do not want to pass it as a url parameter as it will be too big. I guess I want to pass it as an ajax but I want to open the printpage so I can print it in the browser.
I started with this but the paramater will be too big
    $('#MyModal .print').click(function() {
        var   run = "../js/print.php?ref="+ref;
        win = window.open(run, '_blank');
        win.focus();
    });
I am familar with the ajax statement but have not used to open a new page.
Advertisement
Answer
You can use an invisible form with a target="_blank" and method="post" and submit it, thereby sending a POST request in a new window:
<form name="printForm" style="display: none;" action="../js/print.php" method="post" target="_blank"> <input type="hidden" name="ref"> </form>
$('#MyModal .print').click(function() {
  document.forms.printForm.ref.value = ref
  document.forms.printForm.submit()
})
Then you get the ref value in PHP as $_POST['ref']