Ok, j'ai une fonction de template qui est soumise via method = "POST". Mais je ne peux pas soumettre cela normalement, puisque c'est tout ce que je veux soumettre, et il y a déjà une balise définie au dessus du code et qu'en dessous du code, fermer le formulaire avec ça doit rester là. Depuis, il n'y a aucun moyen d'avoir des formulaires à l'intérieur des formulaires, j'utilise Javascript pour créer un formulaire et le soumettre à la volée. Mais j'ai besoin d'obtenir une copie de l'élément d'entrée de fichier défini dans le formulaire document.forms.creator. J'utilise PHP et Javascript pour accomplir ce que j'ai maintenant, mais le cloneNode (true) n'obtient pas le tableau $ _FILES ['image'] et le met dans le tableau $ _FILES ['sigImg'] :(Besoin d'un élément d'entrée de fichier cloné d'une forme dans une autre via PHP & Javascript
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>';
Comment puis-je obtenir un vrai clone de l'entrée de fichier défini dans le php echo et le placer dans la forme définie dans la fonction ??
createFormAndSubmit() S'il vous plaît, quelqu'un aider ...
Juste pour vous assurer que je suis comprends bien, vous êtes désireux d'afficher un fichier sur le serveur dans une fenêtre contextuelle, mais toujours faire référence à ce fichier de la forme de la fenêtre d'origine? Si c'est le cas, aurait simplement l'enfant/iframe être la cible de la publication, alors que cela retourne un script pour ajouter un identifiant dans un champ caché, et le nom de fichier dans votre formulaire principal. – Tracker1
Non, vous ne voulez pas de popup. Je veux juste cloner le dans la fonction createFormAndSubmit() et changer le nom et l'id à: name = "sigImg" id = "sigImgId" et quand submitForm.submit(); get est appelé, sigImg aurait dû définir $ _FILES ['sigImg'] à partir de l'entrée du fichier image. –
un iframe ne fonctionnera pas car une fois l'action effectuée, il les ramène directement à la page sur laquelle ils se trouvaient. Il doit y avoir un moyen de cloner un élément d'entrée de fichier de sorte que lorsque l'élément cloné est soumis, il a défini $ _FILES à partir de l'original. J'ai besoin de ceci pour pouvoir vérifier la taille du fichier, le type mime, etc. –