Putting default value in <input type=file…>

2019-01-09 11:35发布

问题:

Note:

The answers & comments below reflect the state of legacy browsers in 2009. Now you can actually set the value of the file input element dynamically/programatically using JavaScript in 2017.

See the answer in this question for details as well as a demo:
How to set file input value programatically (i.e.: when drag-dropping files)?

I want to update a table. Hence when user wants to update it the insert form appears where the default values appear in the input boxes. But i can't load in the <input type=file....>.

Here is the code:

    <?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" width="995" height="169" /></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>
                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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?>" width="100" height="70" /></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?>" width="100" height="70" /></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>

What i should do?

回答1:

For security reasons, the value of a <input type=file> element can only be changed by a user. It's not possible to change the value through JavaScript or HTML.