一般情况下,在一个form表单里所有上传图片或文档都默认存放在同一个路径,但有时候需要在同一个界面里不同的对象文档上传后存放在不同的路径下,因此,在不更改后台代码的情况下,我们可以用js来变更form表单的action 达到目的。
form表单信息如下:
<form name="Work_Form" id="Work_Form" method="post"
action="后台访问路径和传参"
enctype="multipart/form-data" method="post" target="hidden_frame">
<table>
<tr>
<td >
图片:
</td>
<td colspan="5">
<input type="hidden" name="cover" />
<iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>
<input type="text" id="PICTION1" name="PICTION1" style="width: 630px" />
<span class="file button">浏 览
<input type="file" id="filename" name="filename" class="hifile"
onchange="senduploadIMG('filename','PICTION1');return false;" />
</span>
<input onclick="Downfile();return false;" type="button" value="下载.."/>
</td>
</tr>
<tr>
<td >
文档:
</td>
<td colspan="5">
<input type="hidden" name="cover" />
<iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>
<input type="text" id="PICTION2" name="PICTION2" style="width: 630px" />
<span class="file button">浏 览
<input type="file" id="filename2" name="filename2" class="hifile"
onchange="senduploadIMG('filename2','PICTION2');return false;" />
</span>
<input onclick="Downfile();return false;" type="button" value="下载.."/>
</td>
</tr>
</table>
</form>
使用js 变更action 传入后台的参数:
//图片,或文档上传,
function senduploadIMG(filename,imgname){
//识别标签名,不同的标签设置不同的路径参数
if(filename=="PICTION2“){
// 文件上传存放的路径
document.getElementById('Work_Form').action = "后台访问路径和文档存放的路径参数";
document.getElementById("Work_Form").submit();
//然后调用上传方法
upload('WorkFlowPoint_Form',filename,'msg',imgname,imgname);
}else{
//默认的路径
document.getElementById('Work_Form').action = "后台访问路径和图片存放的路径参数";
document.getElementById("Work_Form").submit();
//然后调用上传方法
upload('WorkFlowPoint_Form',filename,'msg',imgname,imgname);
}
}
一般系统都有封装好的后台方法,因此我们只要修改对应的传参参数,即可达到效果,避免了后台公共方法的修改。