当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值。
解决方法:
提交普通表单时,在提交前:
$("#frm").attr("enctype","application/x-www-form-urlencoded");
$("#frm").attr("encoding","application/x-www-form-urlencoded");//设置form中的enctype属性
上传文件时,在提交前:
$("#frm").attr("enctype","multipart/form-data");
$("#frm").attr("encoding","multipart/form-data");
__________________________________________________________________________________________________
或者:
使用控件。或者在提交图片的时候 将form的提交属性改掉 $("#addform").attr("enctype", "multipart/form-data"); $("#addform").attr("encoding", "multipart/form-data"); 不上传图片只提交普通表单域的时候 将form的提交属性改回默认的$("#addform").attr("enctype","application/x-www-form-urlencoded"); $("#addform").attr("encoding","application/x-www-form-urlencoded"); 两句代码必须同时加上 否则不能生效!
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了 multipart/form-data,才能完整的传递文件数据
但是设置了
通过 su.getRequest().getParameter("value");就可以了,su.upload()好象必须放在前面,测试中将su.upload()放在获取参数后面不成功。
本文探讨了在不同编码方式下表单提交的问题,并提供了解决方案。特别是针对multipart/form-data编码方式下,如何正确获取表单数据及文件上传的方法。

484

被折叠的 条评论
为什么被折叠?



