我有一个表单,其中有一个按钮可以提交,还有一个按钮可以在提交之前预览pdf。我希望preview pdf按钮将表单数据传递到一个新页面(显然这将生成pdf),但是submit按钮在当前页面上工作。
我一直在四处寻找,但大多数答案都指向在表单标记中使用target="_blank"
,尽管这在我的情况下行不通,因为那样会打开选项卡中的每个按钮。还有一些演示了如何用javascript打开一个窗口,但是没有任何表单数据,除非它是通过url传递的。
我只知道php和html,所以我可以通过提交到同一个页面,替换框中的文本,并在过程中打开一个新窗口来实现,但是仅仅为了一个新的选项卡,它会有点复杂,另外,我需要将所有内容都设置为会话变量,或者通过url传递。
最佳答案
既然做这么简单的事情似乎没有什么明显的简单方法,我反复考虑这个问题,最终找到了一些东西。结果发现我完全错过了一个超简单的方法。
在尝试了mplugjan的答案之后,我意识到唯一简单的方法是为每个按钮使用两个单独的表单(除非我做了akshay的建议,但这是最后的选择),但是我需要从主表单中获取值,据我所知,从单独的表单中是不可能的。然后我想我实际上只需要按钮有不同的动作,幸运的是,结果出来了。它可以通过formaction
和formtarget
来完成。
在其他人遇到这种情况时如何做的简单示例:
<form action = "page.php">
<input type="submit" value="Accept"/>
<input type="submit" value="Preview PDF" formaction="pdf.php" formtarget="_blank"/>
</form>