2016-02-29 61 views
0

我在表单外部有一个文件输入元素。并在表单提交我想要将文件内容作为多部分表单数据发送到服务器。我无法将文件元素插入到表单中。有没有其他的方式来做到这一点。将文件数据作为多部分表单数据发送到服务器

<input type="file" class="file" style="width:117px" name="c2vFile" onchange="onFileChange2(this.value);"/> 

    <form style="display:none" id="frmActivate" enctype="multipart/form-data"> 

     <input type="hidden" id="act_groupActivationJson" name="groupActivationJson" /> 
     <input type="hidden" id="act_remarks" name="comments" /> 
     <input type="hidden" id="activatee" name="activatee" /> 

    </form> 

回答

0

文件输入需要在表单标签内。你提到你不能,但为什么不呢?您需要删除“display:none”,目前没有任何用途,因为输入全部隐藏。

0

您可以使用AJAX提交发送表单标签之外的文件。您可以按照下面的链接将有助于使用ajax发送文件。 但是你必须通过点击提交按钮来调用这个功能。一旦文件上传完成,然后表单提交应该发生。

jQuery Ajax File Upload

0

我做了一个小窍门这个和它的工作,请查看是否是对你有帮助 提交表单中添加监听器和输入域的形式追加前。

document.getElementById('frmActivate').addEventListener("submit", function() { 
 
    var fileinput = document.getElementById('filein');//take the file input 
 

 
    var thisel = document.getElementById('frmActivate');// take the form element 
 
    var cln = fileinput.cloneNode(true);//clone the file input element 
 
    thisel.appendChild(cln);//append the clone in the form element 
 
    thisel.submit(); 
 
    
 
})
<input type="file" id="filein" class="file" style="width: 117px" name="c2vFile" onchange="onFileChange2(this.value);" /> 
 
<form style="" id="frmActivate" enctype="multipart/form-data"> 
 
    <input type="hidden" id="act_groupActivationJson" name="groupActivationJson" /> 
 
    <input type="hidden" id="act_remarks" name="comments" /> 
 
    <input type="hidden" id="activatee" name="activatee" /> 
 
    <input type="submit" value="submit" /> 
 
</form> 
 
<?php var_dump($_FILES);//to confirm if file is submitted ?>
你可以看到这个代码在这个 demo 希望这个作品为你工作。

+0

我甚至不能使用Jquery bro。我们可以通过Javascript完成任何事情 –

+0

好的,我会尽快用javacript更新它。 – Technacron

+0

贺雅!请立即查看此代码。写在简单的JavaScript没有jQuery。 – Technacron

相关问题