admin管理员组

文章数量:1434900

i have an iframe:

<iframe name="printarea" id="printarea" src="print.php" style="display: none;"></iframe>

i need this iframe to have the style "display: none;" so it is invisible

now when someone clicks a link generated via php:

echo '<a href="#" onclick="print_receipt('.$row['id'].'); return false;"><img src="images/icon-print.png" alt="" /></a>';

i want it to simply change the iframe SRC and print what is in the iframe, however my code is not working at all:

function print_receipt (id)
{
    $('#printarea').attr('src', 'print.php?id='+id);
    $('#printarea').focus();
    $('#printarea').print();
}

so this is what i want: - user clicks on link - iframe content changes based on the link he clicks - iframe content prints

i have an iframe:

<iframe name="printarea" id="printarea" src="print.php" style="display: none;"></iframe>

i need this iframe to have the style "display: none;" so it is invisible

now when someone clicks a link generated via php:

echo '<a href="#" onclick="print_receipt('.$row['id'].'); return false;"><img src="images/icon-print.png" alt="" /></a>';

i want it to simply change the iframe SRC and print what is in the iframe, however my code is not working at all:

function print_receipt (id)
{
    $('#printarea').attr('src', 'print.php?id='+id);
    $('#printarea').focus();
    $('#printarea').print();
}

so this is what i want: - user clicks on link - iframe content changes based on the link he clicks - iframe content prints

Share Improve this question edited Apr 11, 2012 at 8:56 seferov 4,1613 gold badges41 silver badges76 bronze badges asked Aug 2, 2011 at 0:30 scarhandscarhand 4,33724 gold badges67 silver badges93 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 4

2 issues:

  1. you'll maybe need to wait until the page is loaded
  2. print() is a method of window-objects

   $('#printarea')
    .load(function(){this.contentWindow.print();$(this).unbind('load');})
     .attr('src', 'print.php?id='+id);
  1. What is $('#printarea').focus(); supposed to achieve? As far as I know .focus() works with form elements and links...
  2. What is $('#printarea').print();? Haven't e across that function in jQuery. If you're using a plugin it would help to mention which one.

So perhaps you'll have more luck with:

function print_receipt (id)
{
    $('#printarea')
       .attr('src', 'print.php?id='+id)
       .css("display","block");
}

本文标签: javascriptprinting iframe content with jqueryStack Overflow