わかりました、method="POST" を介して送信されるテンプレート関数があります。しかし、これは私が提出したいすべてであり、コードの上とコードの下よりも上に定義されたタグが既に存在するため、これを正常に送信することはできません。フォーム内にフォームを配置する方法がないため、Javascript を使用してフォームを作成し、その場で送信しています。しかし、document.forms.creator フォームで定義されている file 入力要素のコピーを取得する必要があります。私は現在持っているものを達成するために PHP と Javascript を使用していますが、cloneNode(true) は $_FILES['image'] 配列を取得して $_FILES['sigImg'] 配列に設定していません:(
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>';
PHP エコーで定義されたファイル入力の実際のクローンを取得し、それを createFormAndSubmit() 関数で定義されたフォームに配置するにはどうすればよいですか??
お願い、誰か助けて…