在提交表单中保留上传文件

时间:2013-09-06 08:26:39

标签: php drop-down-menu input-type-file

我只是想知道:有没有办法在提交表单中保留上传文件(尚未上传到服务器)?

我有一个页面,在该页面中我有多个上传文件,我还有一个第一个下拉列表,它将填充第二个下拉菜单(从数据库中检索数据)。所以在我的情况下,当用户选择(a)要上传的文件时,文件名将显示在浏览按钮下方。我的问题是,当用户点击第一个下拉列表时,我必须发布表单,以便它将填充第二个下拉列表,并且已经选择的文件将消失。

这是我的代码:

<script src="jquery-1.9.1.min.js" type="text/javascript" language="javascript"></script>
<script src="jquery.MultiFile.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript" language="javascript">
    $(function(){ // wait for document to load
        $('#picture').MultiFile({
            STRING: {
                remove: '<img src="bin.gif" height="16" width="16" alt="x"/>'
            }
        });
    });
</script>

<form action="upload_file.php" method="post" enctype="multipart/form-data" >
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<label for="file">Filename:</label>
<input type="file"  name="picture[]" id="picture" ><br>

以下是下拉菜单代码:

onchange="this.form.submit();"

2 个答案:

答案 0 :(得分:0)

你无法使用ajax收到Dropdown 2的数据吗? 那么你不需要提交所有的用户文件......

欢呼声

答案 1 :(得分:0)

我在这里做了q&amp; d例子。

第一个文件:index.php

<html>
<head>
        <script src="jquery-1.9.1.min.js" type="text/javascript" language="javascript"></script>

        <script type="text/javascript">
            // when DOM is ready, put data in the second dropdown
            $( document ).ready(function() {
                getDataForSecondDropdown();
            });


            // function adds data to the second dropdown using ajax
            function getDataForSecondDropdown() {
                // append the id of the first dropdown
                var selectValue = $('#first').val();
                $.ajax({
                    url: 'data.php?id=' + selectValue,
                    success: function( response ) {
                        $('#second').html( response );
                    }
                });
            }

        </script>
</head> 
<body>
    <select id="first" onchange="getDataForSecondDropdown();">
        <option value="1">Image Filetype</option>
        <option value="2">Excel Filetype</option>
    </select>
    <select id="second">            
    </select>
</body>

第二个文件data.php

<?php
// when id = 1 -> imagefiletype selected
if ( $_REQUEST['id'] == 1 ) {
    $strResult = '<option>jpg</option><option>png</option><option>bmp</option>';
}
// excel filtetpy selected
else {
    $strResult = '<option>xls</option><option>xlsx</option>';
}

echo $strResult;

有关详细信息,请阅读jquery文档。