2012-12-23 3 views
0

파일을 업로드 한 후 사용자가 '업로드'버튼을 누르지 않아도됩니다. 그것은 잘 작동하지만 나는 또한 여분의 매개 변수를 보내야하고, 나는 전혀 자바 스크립트가 아니기 때문에, 나는 그것을 보내는 방법을 알아낼 수 없다.
HTML :자바 스크립트로 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> 

나는 어떻게 PHP는 변수에있는 GROUP_ID 변수를 (전송하는 단서가 없다, 그래서도에 어디서나 에코 할 수있다 스크립트). 나는 운이없는 많은 방법을 시도했다. 그렇다면 변수가 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 변수에이 변수를 넣을 수 있다면 정말 좋을 것입니다 (이 마지막 줄에서 가능한 한 명확하게하려고했습니다).
나는 또한 크롬 개발자 도구의 내용물을 추가합니다 :

Request Payload 
------WebKitFormBoundarydOdbB5IQ8RbA8CRR 
Content-Disposition: form-data; name="uploaded_file[]"; filename="photo-5.JPG" 
Content-Type: image/jpeg 


------WebKitFormBoundarydOdbB5IQ8RbA8CRR-- 

저를 클릭 모든 입력 필드가 될 것 '제출'할 때 문제가 스크립트

+0

두 가지 방법을해야 작업. 우리가 시도한 것에 대한 정확한 코드를 보여주십시오. 숨겨진 입력에서'group_id'를 얻기 전에 DOMready를 기다렸습니까? – Bergi

+0

그것이하고있는 일을하고 있기 때문에, 나는 그것이 내가 필요로하는 전부라고 생각했다. 당신이 보는 것은 파일에있는 것입니다. 그건 ... 아니, 나는 DOMready를 기다리지 않았다. 나는 그것에 지금 일할 것이다! – cbarg

답변

1

를 보내는 데이터에 생각하게 만드는거야 그 HTTP POST를 사용하여 서버에 제출됩니다.

$myFile = $_REQUEST['uploaded_file']; 

PHP manual를 참조하십시오 : 당신이 볼 수있는 작품 같은 PHP에서 (자바)

request.getAttribute('uploaded_file'); 

같은 뭔가 요청을 해석 할 수있는 서버에서

.

편집 :

<input type="hidden" id="group_id" name="group_id" value="2"> 

Edit2가 : 귀하의 의견 태그 (제거 "/") 유효

다음 (테스트)를 추가

<script type="text/javascript"> 
var el = document.getElementById('send_img'); 

el.addEventListener('submit', function(){ 
alert(document.getElementById("group_id").value); 
return true; 
}, false); 
</script> 
+0

맞습니다.하지만 데이터베이스에 쉽게 삽입 할 수 있도록 변수를 PHP로 가져와야합니다. (나는 그 세부 사항을 더하고있다) – cbarg

+0

나는 그 부분을 가지고있다. 변수 group_id를 가져와야합니다. 도와 주셔서 감사합니다! – cbarg

+0

그건 $ myGroupId = $ _REQUEST [ 'group_id']; 그러나 나는 PHP에 대한 경험이 없습니다. – asgoth

관련 문제