0

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

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

这是我的代码:

<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();"
4

2 回答 2

0

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

干杯

于 2013-09-06T08:35:06.327 回答
0

我在这里完成了 q&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 文档,例如。

于 2013-09-06T09:02:35.777 回答