ユーザーがファイルを選択した後に「アップロード」ボタンを押す必要がないように、ファイルをアップロードしています。それは正常に動作しますが、追加のパラメーターも送信する必要があり、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 Developer Tool で取得したものを追加します。
Request Payload
------WebKitFormBoundarydOdbB5IQ8RbA8CRR
Content-Disposition: form-data; name="uploaded_file[]"; filename="photo-5.JPG"
Content-Type: image/jpeg
------WebKitFormBoundarydOdbB5IQ8RbA8CRR--
それが、問題はデータ送信スクリプトにあると私に思わせるものです