Javascript 打印文档后如何重定向到另一页?

Javascript 打印文档后如何重定向到另一页?,javascript,asp.net,Javascript,Asp.net,我有一个名为SubmitResponse()的事件 用户将看到一系列问题和可能的回答。完成响应后,用户单击预览按钮。如果响应正确,用户单击SubmitResponse按钮,然后SubmitResponse()对其进行处理 单击SubmitResponse按钮后,将弹出打印屏幕供用户打印副本。这是JS打印功能的调用代码 finsub.Attributes.Add("OnClick", "print_form()") 工作正常,但有一个问题。我们希望用户被重定向到显示他/她的响应结果的屏幕,代码如

我有一个名为
SubmitResponse()
的事件

用户将看到一系列问题和可能的回答。完成响应后,用户单击预览按钮。如果响应正确,用户单击SubmitResponse按钮,然后
SubmitResponse()
对其进行处理

单击SubmitResponse按钮后,将弹出打印屏幕供用户打印副本。这是JS打印功能的调用代码

finsub.Attributes.Add("OnClick", "print_form()")
工作正常,但有一个问题。我们希望用户被重定向到显示他/她的响应结果的屏幕,代码如下

Response.Redirect("results.aspx")
发生的情况是,一旦用户单击submitResponses按钮,他/她将立即重定向到
results.aspx页面
,打印功能将不再可用


有办法解决这个问题吗?

使用javascript/jQuery在客户端重定向

  onclick="window.print();window.location.href='results.aspx';"
为了你的案子

 insub.Attributes.Add("OnClick", "print_form();window.location.href='results.aspx';")

您可以通过javascript进行打印和重定向。下面是一个应该有效的示例:

function doPrint() {
    window.print();            
    document.location.href = "Somewhere.aspx"; 
}
将其链接到
按钮

<asp:Button ID="btnPrint" runat="server" Text="Print"
    OnClientClick="doPrint(); return false;" />

window.location='url.aspx';

为了实现跨浏览器兼容性,需要在window.print()调用和重定向之间引入延迟

我发现以下方法很有效(使用JQuery框架在页面加载后立即打印页面):


$(文档).ready(函数(){
window.print();
setTimeout(“closePrintView()”,3000);
});
函数closePrintView(){
document.location.href='somewhere.html';
}

这可以很容易地适用于“打印”按钮和链接等。

您可以使用以下代码:

window.print();
window.onafterprint = function(event) {
    window.location.href = 'index.php'
};

使用window.print()回调

您可以创建一个登录页,只需在将来的一段时间内(假设打印顺利)使用元刷新集执行打印。谢谢Brad。我在这里发帖之前就试过了。它不起作用。事实上,它部分工作是因为它会重定向我,但出于某种原因,它会首先打开表单页面,从而将其公开以进行重复输入。我确信我做错了什么,因为它将我重定向回表单(标记)页面。它没有把我带到我想重定向到的页面,也没有再显示打印屏幕。@Chidi Okeh听起来好像你没有实现客户端的正确点击,而
按钮正在免费回发,这就是为什么你再次获得相同的页面。确保将
doPrint
javascript事件正确地附加到按钮上(我使用ASP
按钮
OnClientClick
事件。还要确保返回
false
以确保回发也被中止。很抱歉,我之前犯了错误,这是Kelsey脚本,对我来说很有吸引力。很抱歉出现任何混淆。这在使用chrome的ipad上不起作用。应该使用window、 onafterprint回调。我真的一定是做错了什么,因为你们提出的每个解决方案都将我重定向到default.aspx,这就是我一直称之为标记页的地方。他们都没有把我带到我正试图重定向到-results.aspx页的页面。发布更多代码,这可能会有所帮助,很难从中找出更多信息仅此代码。这会出现在打印屏幕之后吗?并且不会将我重定向到default.aspx?这是一个简单的javascript重定向,当您需要将用户重定向到某个位置时,您可能希望将其输出,但不要忘了将
url.aspx
更改到您的位置凯尔西您的美貌非常优雅,但出于某种原因,user973254似乎正在工作g代表我。我想感谢大家在百忙之中抽出时间来帮助我。非常感谢。在Chrome(windows上的较新版本)上,页面在能够打印之前会重定向。这是Chrome上最有效的一个。谢谢@reza
 <script type="text/javascript">
    $(document).ready(function () {
        window.print();
        setTimeout("closePrintView()", 3000);
    });
    function closePrintView() {
        document.location.href = 'somewhere.html';
    }
</script>
window.print();
window.onafterprint = function(event) {
    window.location.href = 'index.php'
};