자, method = "POST"를 통해 제출되는 템플릿 기능이 있습니다. 하지만이 코드는 정상적으로 제출할 수 없습니다.이 코드는 내가 제출하기를 원하는 것이기 때문에 이미 코드 위에 정의 된 태그가 있으며, 코드 아래에있는 태그가 남아 있어야합니다. 양식을 양식 안에 넣을 방법이 없으므로 양식을 작성하고 즉시 제출하려면 Javascript를 사용하고 있습니다. 하지만 document.forms.creator 양식에 정의 된 파일 입력 요소의 사본을 가져와야합니다. 지금 가지고있는 것을 성취하기 위해 PHP와 Javascript를 사용하고 있지만 cloneNode (true)가 $ _FILES [ 'image'] 배열을 가져 오지 않고 $ _FILES [ 'sigImg'] 배열로 설정하지 않습니다 : (PHP와 자바 스크립트를 통해 하나의 양식에서 다른 양식으로 복제 된 파일 입력 요소가 필요합니다.
나는 PHP는 에코에 정의 된 파일 입력의 실시간 복제를 얻고 createFormAndSubmit() 함수 ?? 이, 누군가가 도와주세요에 정의 된 형태로 배치 할 수 있습니다 방법
echo '<tr><td colspan="2"><a href="#" name="sig' . $user_info['id'] . '"></a><center><b>Signature Image Rotator</b></center><br /><center>
Add Image: <input type="file" size="48" id="imagefile" name="image" /> <input type="button" value="Upload" onclick="createFormAndSubmit()"></center>';
echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
//helper function to create the form
function getNewSubmitForm(){
var submitForm = document.createElement("FORM");
document.body.appendChild(submitForm);
submitForm.enctype = "multipart/form-data";
submitForm.method = "POST";
return submitForm;
}
//function that creates the form, clones <input type="file" name="image">,
//and then submits it
function createFormAndSubmit(){
var submitForm = getNewSubmitForm();
var element = document.getElementById("imagefile");
element = element.cloneNode(true);
element.id = \'sigImgId\'; //<- ID Assignment
element.name = \'sigImg\'; //<- NAME Assignment
submitForm.appendChild(element);
submitForm.action= "', $scripturl, '?action=sigimages;sa=upload";
submitForm.submit();
}
// ]]></script></td></tr>';
...
그냥 내가, 당신은 팝업에 서버에 파일을 게시,하지만 여전히 원래 창의 양식에서 해당 파일을 참조하고자하는 제대로 이해하고 있는지 확인하기 위해? 그렇다면 자식/iframe을 게시 대상으로 설정 한 다음 id를 숨겨진 필드에 추가하는 스크립트와 주 양식의 파일 이름을 반환하십시오. – Tracker1
아니요, 팝업을 원하지 않습니다. createFormAndSubmit() 함수 내에서 복제하고 이름과 ID를 다음과 같이 변경하십시오. name = "sigImg"id = "sigImgId"및 submitForm.submit(); get이 호출되면 sigImg는 이미지 파일 입력에서 $ _FILES [ 'sigImg']를 설정해야합니다. –
iframe은 작업이 수행 된 후에 원래 있던 페이지로 바로 이동하기 때문에 작동하지 않습니다. 복제 된 요소가 제출되면 원본에서 $ _FILES가 설정되도록 파일 입력 요소를 복제하는 방법이 있어야합니다. 파일 크기, 마임 유형 등을 확인하려면이 파일이 필요합니다. –