我正在上傳文件,用戶在選擇文件後無需點擊按鈕「上傳」。它工作正常,但我也需要發送一個額外的參數,因爲我根本沒有進入Javascript,我無法弄清楚如何發送它。
的HTML:使用Javascript發送POST數據
<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--
這就是讓我覺得這個問題是在數據發送腳本
這兩種方法應該工作。請告訴我們您嘗試的確切代碼。在隱藏輸入中獲得'group_id'之前,您是否等待DOMready? – Bergi
因爲它正在做它應該做的事情,所以我認爲這就是我需要的。你所看到的幾乎與我在文件中的一樣。這說...不,我沒有等待DOMready。我現在要開始工作了! – cbarg