我只是想知道:有没有办法在提交表单中保留上传文件(尚未上传到服务器)?
我有一个页面,在该页面中我有多个上传文件,我还有一个第一个下拉列表,它将填充第二个下拉菜单(从数据库中检索数据)。所以在我的情况下,当用户选择(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();"
答案 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文档。