将默认值放入 <input type=file....>
Posted
技术标签:
【中文标题】将默认值放入 <input type=file....>【英文标题】:Putting default value in <input type=file....> 【发布时间】:2012-01-09 12:22:39 【问题描述】:注意:
下面的答案和 cmets 反映了 2009 年旧版浏览器的状态。现在您实际上可以在 2017 年使用 javascript 动态/编程设置文件输入元素的值。
有关详细信息以及演示,请参阅此问题中的答案:How to set file input value programatically (i.e.: when drag-dropping files)?
我想更新一个表。因此,当用户想要更新它时,插入表单会出现在默认值出现在输入框中的位置。但我无法加载<input type=file....>
。
代码如下:
<?php
session_start();
if(!isset($_SESSION['user']))
header("Location:index.php");
exit();
include("./include/dbc.php");
$a=$_REQUEST['apt'];
$qry="select * from flats where app_name = '$a'";
$result=mysql_query($qry) or die(mysql_error());
while($res = mysql_fetch_array($result))
$ai=$res[0];
$an=$res[1];
$bn=$res[2];
$lc=$res[3];
$st=$res[4];
$nf=$res[5];
$ct=$res[6];
$mp=$res[7];
$lm=$res[8];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<form id="form1" action="details1.php?ar=<?php echo $a;?>&api=<?php echo $ai;?>" method="post" enctype="multipart/form-data">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome To Prime Properties</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<div class="container">
<div class="heading">
<div class="banner"><img src="../images/top.jpg" /></div>
<!--menu start-->
<div>
<?php include('include/menu.php');?>
</div>
<!--menu end-->
</div>
<div class="main">
<!--left menu start-->
<div class="left_menu">
<?php include('include/lm.php');?>
</div>
<!--left menu end-->
<div class="divider"></div>
<!--body contant goes here-->
<div class="right">
<p>
Enter Your Credentials......</p>
<fieldset><p class="first">
<label for="a_name" >Appartment Name:</label>
<input type="text" name="a_name" id="a_name" value="<?php echo $an;?>"><br/></input></p>
<p>
<label for="b_name">Builder Name:</label>
<input type="text" name="b_name" id="b_name" value="<?php echo $bn;?>"><br/></input></p>
<p>
<label for="loc">Location:</label>
<select name="loc">
<?php $qry1="select location from location where loc_id='$lc'";
$result1=mysql_query($qry1) or die(mysql_error());
while($res = mysql_fetch_array($result1))
$op=$res[0];
?>
<option value="<?php echo $lc?>"><?php echo $op;?></option>
<option value="1">Maligaon</option>
</select><br/></p>
<p>
<label for="status"> Status:</label>
<select name="status">
<?php $qry1="select status from status where st_id='$st'";
$result1=mysql_query($qry1) or die(mysql_error());
while($res = mysql_fetch_array($result1))
$sts=$res[0];
?>
<option value="<?php echo $st?>"><?php echo $sts;?></option>
<option value="1">Ongoing</option>
<option value="2">Future</option>
<option value="3">Completed</option>
</select><br/></p>
<p><label for="no_flats">No of Flats:</label>
<input type="text" name="no_flats" id="no_flats" value="<?php echo $nf;?>"><br/></input></p>
<p><label for="c_time">Completion Time:</label>
<?php $ct1=explode(" ", $ct);
?>
<select name="month">
<option><?php echo $ct1[0];?></option>
<option>January</option>
<option>February</option>
<option>March</option>
</select>
<select name="year">
<option><?php echo $ct1[1];?></option>
<option>2012</option>
<option>2013</option>
<option>2014</option>
</select>
</p>
<p><label for="m_pic">Main Picture:</label>
<td><img src="images/<?php echo $mp?>" /></td>
<input type="file" name="photo"><br/></input></p>
<p><label for="l_map">Location Map:</label>
<td><img src="loc_images/<?php echo $lm?>" /></td>
<input type="file" name="photo"><br/></input></p>
<p class="submit">
<input type="hidden" name="check" value="1"/>
<button type="submit" name="submit" >UPDATE</button></p>
</fieldset></div>
<!--body contant end here -->
</div>
</body>
</html>
</form>
我该怎么办?
【问题讨论】:
我假设您知道这一点,但我想我会指出以防万一,您在发送“非法”内容后发送标头。此外,您应该转义$_REQUEST['apt']
变量以防止 SQL 注入。您的文档中有一些严重的 XHTML 错误,您应该对其进行验证。例如,整个页面被封装在一个form
元素中。
谢谢。但我的问题是 的默认值未加载,而其他输入框加载了从数据库中检索到的默认值。我该如何加载 和 中的默认值。
How to set file input value programatically (i.e.: when drag-dropping files)?的可能重复
【参考方案1】:
出于安全原因,<input type=file>
元素的值只能由用户更改。无法通过 JavaScript 或 HTML 更改值。
【讨论】:
每个人都在喋喋不休,因为安全原因,这是不可能的,而如果你只显示一个文件的名称,就不会出现任何安全漏洞,这对于很多情况来说已经足够了。以上是关于将默认值放入 <input type=file....>的主要内容,如果未能解决你的问题,请参考以下文章