簡體   English   中英

使用錨標記提交表單以在新窗口中打開pdf

[英]Submit a form using anchor tag to open pdf in new window

我有一個JQM站點,在提交表單時生成pdf文件。 所有這一切都運行正常,但我從iPhone的主屏幕啟動時,在新窗口中打開pdf(打開safari ..)時遇到問題。
看來我不是唯一一個遇到此問題的人,但我還沒有找到合適的解決方案。 如果我鏈接到帶有錨標簽的靜態pdf,我在safari中打開一個新窗口沒有問題。 我的結論是,如果我用一個anchortag提交我的表格,一切都會有效。 但是,當我嘗試使用以下代碼時,結果與我使用常規提交按鈕發布表單時的結果相同。

有人可以幫我解決另一個問題嗎? 或者可能調整一下以使其有效?

這是我的表格:

 <form name="pdf" action="pdf_report1.php" data-ajax="false" target="_blank" id="pdf_report" method="POST">

<input type="hidden" name="customer_id" value="<?php echo $customer_id; ?>" >
<input type="hidden" name="date_from" value="<?php echo $date_from; ?>" >
<input type="hidden" name="date_to" value="<?php echo $date_to; ?>" >
<input type="hidden" name="user_id" value="<?php echo $user_id; ?>" >
<input type="hidden" name="maskin_id" value="<?php echo $maskin_id; ?>" >
<input type="hidden" name="akeri_id" value="<?php echo $akeri_id; ?>" >
<input type="hidden" name="littra_id" value="<?php echo $littra_id; ?>" >
<a href="javascript: document.getElementById('pdf_report').submit();" data-role="button">Create PDF</a>

</form>

請務必將這些行放入pdf_report1.php

header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');

我不太了解用iPhone做這件事,但是添加target = '_blank'強制它在空白標簽或頁面中打開,具體取決於該broswer的默認值。 EX:

<a href="javascript: document.getElementById('pdf_report').submit();" data-role="button" target="_blank">Create PDF</a>

在研究了這個問題並且無法按照我希望的方式解決它之后,我采取了不同的方式。 我沒有使用表單,只是簡單地添加了URL中我需要的所有值,並使用目標頁面上的get來提取它。 也許不是最優雅的方式,但它適合我。 現在,當我在iPhone上的主屏幕上啟動Web應用程序時,PDF將在safari的新窗口中打開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM