简体   繁体   中英

jQuery Load Div Content from Current Page to Another Page

I have seen some example of loading HTML content to page from an outside of the current page like

$("#divData").load("article.html #target");

Now I need to do some thing completely visa versa! I mean I need to export a portion of my current active page to an existing .php page on the server. For example if I have an HTML like

<!DOCTYPE HTML>
<html>
<body>
  <div class="well"> 
   <div class="btn-group">
    <button class="btn">Left</button>
    <button class="btn">Middle</button>
    <button class="btn">Right</button>
   </div>
   <button id="loader" class="btn btn-default">Load To PHP Page</button>
  </div>
</body>
</html> 

how can I export/Load the well content with it's entire elements to a .PHP lets say print.php page which is like this:

<?php

    require_once("dompdf_config.inc.php");

    $codigo= '<html>
                <body>
                </body>
              </html>';

    $codigo = utf8_decode($codigo);
    $dompdf = new DOMPDF();
    $dompdf->load_html($codigo);
    ini_set("memory_limit","32M");
    $dompdf->render();
    $dompdf->stream("ejemplo.pdf");

Update:

Data returned from PHP: %PDF-1.3
1 0 obj
<< /Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R >>
endobj
2 0 obj
<< /Type /Outlines /Count 0 >>
endobj
3 0 obj
<< /Type /Pages
/Kids [6 0 R
]
/Count 1
/Resources <<
/ProcSet 4 0 R
/Font << 
/F1 8 0 R
>>
>>
/MediaBox [0.000 0.000 612.000 792.000]
 >>
endobj
4 0 obj
[/PDF /Text ]
endobj
5 0 obj
<<
/Creator (DOMPDF)
/CreationDate (D:20140425170443+00'00')
/ModDate (D:20140425170443+00'00')
>>
endobj
6 0 obj
<< /Type /Page
/Parent 3 0 R
/Contents 7 0 R
>>
endobj
7 0 obj
<<
/Length 71 >>
stream

0.000 0.000 0.000 rg
BT 34.016 746.579 Td /F1 12.0 Tf  [(salam)] TJ ET
endstream
endobj
8 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F1
/BaseFont /Times-Roman
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 9
0000000000 65535 f 
0000000008 00000 n 
0000000073 00000 n 
0000000119 00000 n 
0000000273 00000 n 
0000000302 00000 n 
0000000416 00000 n 
0000000479 00000 n 
0000000600 00000 n 
trailer
<<
/Size 9
/Root 1 0 R
/Info 5 0 R
>>
startxref
710
%%EOF

If you want the whole state of the active page, you can just submit a form that has an input wich contains the HTML you want. You can also do the same in AJAX if that's what you want.

Eg

HTML

<form action="your_page.php" method="post">
    <input type="hidden" name="htmlContent">
    <button type="submit">Submit HTML</button>
</form>

JS

$('form').submit(function (e) {
    $(this).children('[name=htmlContent]').val($('.well').html());
});

Two options, first to answer your question, you could send the contents of div.well with ajax to print.php :

$.ajax({
    url: 'print.php',
    type: 'POST',
    data: {
        yourData: $('div.well').html()
    },
    success: function(msg) {
        alert('Data returned from PHP: ' + msg);
        // now do something with your returned data, liked load it in a new window.
    },
    error: function (xhr, ajaxOptions, thrownError) {
        alert('AJAX request failed! ' + xhr.status + ' ' + thrownError);
    }
});

You can then echo $_POST['yourData']; on your print.php page to use the div.well on that page.

Or you could just put your .load("page.html div.well") on your print.php page if the loaded content is static (see comments below).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM