我有一个 <input type="file" >
字段以及表单中的其他文本字段,当我尝试使用浏览按钮上传任何文件然后单击提交按钮时,输入类型 ="file"字段中的值消失了,我想如果其他字段中存在错误,浏览的值将保留在 <input type="file" >
字段中,有什么方法可以保留浏览的值并在单击提交按钮时将其保留在 <input type="file" >
字段中,
<form action="form.php" method="post" enctype= multipart/form-data>
<input type="file" value="$file" name="file"/>
<input type="text" value="$line" name="line">
<input type="submit" name="btnsubmit">
</form>
if($_POST['btnsubmit'])
{
$line =$_POST['line'];
$file =$_FILES['file'] ['name'];
if($line)
{
//do something
//conditions for file check here
}
else
//error
}
最佳答案
这是不可能的。浏览器安全性会阻止您预填充文件输入字段,这样网站就无法在未经用户授权(通过单击“浏览...”并选择文件)的情况下随意窃取私有(private)文件。
编辑:本地不可能这样做 - 但您可以尝试一些 CSS 魔法来显示先前选择的文件名,也许在文件输入框旁边以提示用户。如果你想尝试一下真的很酷,你也可以尝试用另一个填充了以前文件名的div覆盖浏览器的 native 文件输入文本显示区域。但这会阻止点击输入区域,因此对用户不友好。工作太多,返回太少。
关于php - 单击提交按钮时保留 <input type ="file"> 字段中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11426418/