0

我正在尝试创建一个“打印”按钮来打开一个新窗口并在其中显示一个 PHP 变量。

下面的代码在 PHP 脚本中循环的次数与票数一样多,但是我似乎无法在窗口打开时显示正确的数字(打印链接中显示的数字是正确的 - 但是当新的窗口打开它是不正确的)。

<script type='text/javascript'>
jQuery(function($) {
$('a.new-window').click(function(){

var recipe =  window.open('','PrintWindow','width=600,height=600');
var html = '<html><head><title>Print Your Ticket</title></head><body><div id="myprintticket">' + $('<div />').append($('#ticket').clone()).html() + '</div></body></html>';
recipe.document.open();
recipe.document.write(html);
recipe.document.close();

return false;

});
});
</script>

<a href="" class="new-window">Print <?php echo $EM_Booking->get_spaces() ?></a> 

<div style="display:none;">
<div id="ticket"><?php echo $EM_Booking->get_spaces() ?>
</div>

</div>
4

1 回答 1

1

为什么不尝试这样的事情:

<a href="#" class="new-window">Print <?php echo $EM_Booking->get_spaces() ?>
    <div class="ticket" style="display:none">
        <?php echo $EM_Booking->get_spaces() ?>
    </div>
</a> 


<script>
jQuery(function ($) {

    $('a.new-window').click(function () {
        var btn = $(this),
            ticket = btn.find('.ticket').html(),            
            recipe =  window.open('','PrintWindow','width=600,height=600'),
            html = '<html><head><title>Print Your Ticket</title></head><body><div id="myprintticket">' + ticket + '</div></body></html>';
        recipe.document.open();
        recipe.document.write(html);
        recipe.document.close();
        return false;
    });

});
</script>

但是更好的解决方案是给一个按钮一个唯一的 ID,然后单击从传递该 ID 的服务器打开一个现有的(php 生成的)页面,例如/getBooking.php?id=123,该页面将输出所需的任何内容。

于 2013-03-26T12:56:19.627 回答