isset(Php、jquery、iframe)上的触发器单击问题
我有个小问题,我不知道原因。我定的 1-如果单击“打印”按钮,则Print.php页面将自动打印 2-如果您提交表单,则print.php页面将自动打印 问题在于第二种选择。页面会自动打印,但如果再次单击“打印”按钮,则不会再次打印页面 我正在使用firefoxisset(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&
<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?