我可以为HTML表单使用HTML5下载属性吗?

我可以为HTML表单使用HTML5下载属性吗?,html,forms,Html,Forms,HTML5为标记引入了一个很好的特性 对HTML表单也可以这样做吗 这里有一个简单的用例,例如:我有一个表单请求用户提供一些详细信息,在用户提交表单后,服务器应该根据这些详细信息返回一个文件。否,表单,因此不可能在表单上有这样的行为 您可以通过设置Content DispositionHTTP头,通过post设置输出文件名: Content-Disposition: attachment; filename="yourPicture.png" 是提交数据后,您可以以pdf或其他格式返回文件。

HTML5为标记
引入了一个很好的特性

对HTML表单也可以这样做吗

这里有一个简单的用例,例如:我有一个表单请求用户提供一些详细信息,在用户提交表单后,服务器应该根据这些详细信息返回一个文件。

否,
表单
,因此不可能在
表单上有这样的行为

您可以通过设置
Content Disposition
HTTP头,通过post设置输出文件名:

Content-Disposition: attachment; filename="yourPicture.png"

是提交数据后,您可以以pdf或其他格式返回文件。 利用

这是不可能的。 根据规范,仅为a区域指定了“下载”属性


@StijnBernards:如果没有代码,为什么要添加代码?他的回答是“不可能”。你想看什么代码?@gamliela:需要更多帮助吗?谢谢你的回答,我知道
内容处置
标题。我的问题是关于HTML表单的,这是我回答的第一句话,对吗?我只是不喜欢不提供选项,
内容配置是最接近规范第二部分的,但这并不完全相同。
download
更有用的方面是,它不会导致所有正在运行的AJAX请求被取消,并使页面处于奇怪的状态。我认为一个更接近实用的替代方法是。@binki您可以通过使用
(提交时会临时创建一个新的浏览器选项卡)来避免更改页面状态,或者更好的方法是,
针对页面上名为“myHiddenIFrame”的隐藏iframe(解决了新选项卡创建问题)。只要您确定响应将是要保存的文件而不是HTML页面,这将基本上为您提供与(假设的)
相同的功能,没有指定文件名(尽管我承认这有点笨拙)。不确定这是否切中要害,但如果您想要的主要内容是“提交”操作以不影响页面状态(即不触发对下载URL的导航开始),您可以将
\u blank
窗口/选项卡作为目标,或者更好,在页面上放置一个隐藏的iframe并将其作为目标。(当然,这并不是像您希望的那样,通过[download]将表单“标记”为程序员或CSS的下载端点)。
<?php
//create pdf with details
.....
.
.
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
?>