isset(Php、jquery、iframe)上的触发器单击问题

isset(Php、jquery、iframe)上的触发器单击问题,php,jquery,iframe,Php,Jquery,Iframe,我有个小问题,我不知道原因。我定的 1-如果单击“打印”按钮,则Print.php页面将自动打印 2-如果您提交表单,则print.php页面将自动打印 问题在于第二种选择。页面会自动打印,但如果再次单击“打印”按钮,则不会再次打印页面 我正在使用firefox <script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script&

我有个小问题,我不知道原因。我定的

1-如果单击“打印”按钮,则Print.php页面将自动打印

2-如果您提交表单,则print.php页面将自动打印

问题在于第二种选择。页面会自动打印,但如果再次单击“打印”按钮,则不会再次打印页面

我正在使用firefox

<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

    <script type="text/javascript"> 
    function loadiFrame(src) 
    { 
        $("#iframeplaceholder").html("<iframe id='myiframe' name='myname' src='" + src + "' frameborder='0'  vspace='0'  hspace='0'  marginwidth='0'  marginheight='0' width='1'  scrolling='no'  height='1' />"); 
    } 

    $(function() 
    { 
        $("#printbutton").bind("click",  
            function() {  
                loadiFrame('print.php');  
                $("#myiframe").load(  
                    function() { 
                        window.frames['myname'].focus(); 
                        window.frames['myname'].print();     
                     } 
                 ); 
            } 
        ); 
    }); 
    </script>

<?
if (isset($_POST['formSubmit'])) 
{
echo "form submitted";
?>   
<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('#printbutton').trigger('click'); 
   });
</script>  
<? } ?>  
</head>

<body>
<table border="1">
  <tr>
    <td><input type="button" id="printbutton" value="  Print  " /><div id="iframeplaceholder"></div></td>
  </tr>
</table>


<form action="auto.php" method="post">
<input name="formSubmit" type="submit" value="Submit" />
</form>
</body>

只有当iframe不存在时,才应该调用loadiFrame函数

$(function() 
{ 
    $("#printbutton").click(  
        function() {
    if($('#myiframe').length==0){ 
            loadiFrame('print.php'); }
            $("#myiframe").ready(  
                function() { 
                    window.frames['myname'].focus(); 
                    window.frames['myname'].print();     
                 }); 
        }); 
}); 
现在试试看


祝你好运:

这是Firefox中的一个bug。如果您添加一个计数器,使每个iframe名称都是唯一的,那么它就可以工作。

您好,这次提交表单后,它根本没有打印出来。打印机开了,但没打印就坏了。我已经测试了代码,效果很好!您是否已将.load方法更改为.ready?