我正在上传文件,这样用户在选择文件后不需要点击“上传”按钮。它工作正常,但我还需要发送一个额外的参数,因为我根本不使用 Javascript,所以我不知道如何发送它。
的HTML:
<form enctype="multipart/form-data" target="_blank" name="send_img" id="send_img" method="post" action="img_upload.php">
<input type="hidden" id="group_id" name="group_id" value="2" />
<input type="file" class="hide" id="uploaded_file" name="uploaded_file" onChange="Handlechange();"/>
<button type="submit" id="btn">Subir fotos!</button>
</form>
<div onclick="HandleBrowseClick();" id="fakeBrowse" >Load a picture</div>
剧本:
<script language="JavaScript" type="text/javascript">
function HandleBrowseClick()
{
var fileinput = document.getElementById("uploaded_file");
fileinput.click();
}
function Handlechange()
{
var fileinput = document.getElementById("uploaded_file");
var textinput = document.getElementById("filename");
textinput.value = fileinput.value;
}
</script>
我不知道如何发送 group_id 变量(我在一个 php 变量中,所以它可以在任何地方回显,甚至在脚本中)。我尝试了很多方法都没有运气。那么如何在 img_upload.php 中传递和获取该变量?我以为:
var group_id = document.getElementById("group_id").value;
会成功的,但我错了:-/
我还发现有趣的是,如果我将表单标签修改action="img_upload.php?group_id=2"
为$_GET['group_id'];
在 img_upload.php 中,我将另一个变量插入到数据库中。因此,如果我能以一种可以将其放入 php 变量的方式获取该变量,那将是非常酷的(我试图在最后一行中尽可能清楚)。
我还将添加我在 Chrome 开发人员工具中获得的内容:
Request Payload
------WebKitFormBoundarydOdbB5IQ8RbA8CRR
Content-Disposition: form-data; name="uploaded_file[]"; filename="photo-5.JPG"
Content-Type: image/jpeg
------WebKitFormBoundarydOdbB5IQ8RbA8CRR--
这就是让我认为问题出在数据发送脚本中的原因