今天写程序的时候遇到一个问题:form表单设置method="post" enctype="multipart/form-data"做上传文件时, request就取不到参数了,但是可以获得到文件。代码是这样的:
<form id="upload" name="upload" action="fileftp.jsp" method="post" ENCTYPE="multipart/form-data">
<input type="hidden" name="otherName" id="otherName" value="abcdefg"/>
<td nowrap>
<input type="file" id="file1" name="file1" value="" size="40" class="sbttn"/>
<input type="submit" value="上传" class="sbttn"/>
</td>
</form>
当表单提交到fileftp.jsp后,是无法使用request.getParameter("otherName")获得到abcdefg的值的。但是可以获得到file1的文件。
具体的原因我从网上找了一下资料,并做了转载http://blog.csdn.net/jpiverson/article/details/12042205
这里使用第二种方法做处理,使用JS在表单提交的时候将参数拼接在表单action地址的后面。代码像这样的:
<script language="javascript">
function formSubmit(){
var action="fileftp.jsp";
action+="?otherName="+document.upload.otherName.value;
document.upload.action=action;
document.upload.submit();
}
</script>