开发者社区> 问答> 正文

jquery.form.js上传文件,一点反应都没有。?报错

今天尝试了一下jQuery.form.js插件来进行异步的提交表单上传文件

jsp:

?
1
2
3
4
               

 

 <form style="padding-left: 50px;padding-top: 25px"id="form2"

            enctype="multipart/form-data">

                选择Excel文件:<input type="file"name="files"id="files"/></p>
                <input type="button"value="上传"id="bt"/>
 </form>
              

点击上传按钮的js事件代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script src="JS/jquery-1.8.0.js"type="text/javascript"></script>
<script src="JS/jquery.form.js"type="text/javascript"></script>
<script type="text/javascript">
                $(function(){
                    $("#bt").click(function(){
                        varoptions={
                                url:"uploadServlet",   
                                type:"post",
                                dataType:null, 
                                success:function(mes){
                                    alert(mes);
                                }
                            };
                            $("#form2").submit(function() {
                                 $(this).ajaxSubmit(options);
                                 returnfalse;
                             });
                    });
                });

</script>


就是一个简单地上传文件的操作,上传的地址是一个servlet

在servlet中我使用cos上传方式

我在servlet中out.print出OK

servlet:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)
            throwsServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        String str="";
        try{
            String ExcelFile=this.getServletContext().getRealPath("ExcelFile")+"\\";
            newMultipartRequest(request, ExcelFile,10*1024*1024,"utf-8",newDefaultFileRenamePolicy()) ;
            str="OK";
        }catch(Exception e) {
            e.printStackTrace();
            str="NO";
        }
        out.print(str);
        out.flush();
        out.close();
    }


但是我运行一下,没有任何反应。。。压根这后台的servlet都没进去

使用浏览器调试了一下也不报错,什么反应都没有。。求请教,很急

                  

展开
收起
爱吃鱼的程序员 2020-06-15 19:33:48 614 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    $("#form2").submit这里只是给form注册了一个submit事件,而不是执行submit!!!

    你这段代码实际效果就是:点击上传按钮,给form2注册一个submit事件。

    你应该将这也写:

    $(function(){varoptions={url:"uploadServlet",type:"post",success:function(mes){alert(mes);}};$("#form2").submit(function(){$(this).ajaxSubmit(options);returnfalse;});$("#bt").click(function(){$("#form2").submit();});});




    你说的对,我照你的改了,上传OK,但是不弹框,我实在也没招了,问我同学要了一个jquery.form.js重新放上去,竟然好了。我晕死,可能是我下载的这个js有问题。
    2020-06-15 19:34:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载