from表单中加入enctype="multipart/form-data"之后,在action里面得不到其它下拉框的值

我做图片上传,在from表单中加入enctype="multipart/form-data" 这个之后,有时在action里面得不值下拉框的值,去掉那个之后就可以得到,怎么解决啊?

有没有 commons-fileupload 相关jar包?

把代码贴上来

你用的是struts几?
有的版本的struts在处理同时存在文件流与普通数据流的form提交时,会出现你那样的问题。
你可以考虑文件与其他数据分开传输,或者换个版本。

如果没有使用struts,把下拉框放到这个from表单下

你在action中如何获取参数? 通过request.getParameter()是拿不到的,如果通过框架注入是可以的。这里有个例子: http://www.blogjava.net/max/archive/2007/03/21/105124.html

用 firebug调试一下,看一下网络请求 有没有 post数据过去.

select的标签只要在form里面,去后台取值


[code="java"]
Iterator iter = fileItems.iterator();

                // 依次处理每个表单域
                while (iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();

                    if(item.isFormField()){
                        // 如果item是正常的表单域
                        String name = item.getFieldName();
                        String value = item.getString();
                        //这两个应该就是能取到select中的值了
                        System.out.print("表单域名为:"+name+"表单域值为:"+value);
                    }

[/code]

    SmartUpload su = new SmartUpload();
    su.initialize(this.getServletConfig(), request, response);
    su.setCharset("UTF-8");

    PrintWriter out = response.getWriter();

    String fileName = null;

    try {
        su.upload();

    } catch (SmartUploadException e) {
        e.printStackTrace();
    }

    String nickName = su.getRequest().getParameter("name");

用SmartUpload对象去获得完美....

可以试试把select值加到url中提交到后台。