强大的jquery.form,非常优雅的解决了表单异步提交,文件无刷新上传的技术。
官方网站:http://malsup.com/jquery/form
一、html页面代码:
1、提交普通表单:
<form id="testForm" action="${ctx}/store/test" method="post"> <input type="text" name="name" value="pushaotao"/> <input type="text" name="age" value="30"/> <input class="btn btn-primary" type="submit" value="提交"/> </form>
js代码如下:
$(document).ready(function() { var options = { beforeSubmit: function(formData, jqForm, options){}, // pre-submit callback success: function(responseText, statusText, xhr, $form){ } // post-submit callback // other available options: //url: url // override for form's 'action' attribute //type: type // 'get' or 'post', override for form's 'method' attribute //dataType: null // 'xml', 'script', or 'json' (expected server response type) //clearForm: true // clear all form fields after successful submit //resetForm: true // reset the form after successful submit // $.ajax options can be used here too, for example: //timeout: 3000 }; // bind form using 'ajaxForm' $('#testForm').ajaxForm(options); });
2、提交上传文件,带进度显示的
<form id="fileForm" action="${ctx}/store/testFile" method="post" enctype="multipart/form-data"> <input type="file" name="file"><br> <input type="submit" value="Upload File to Server"> </form> <!--上传进度显示--> <div class="progress"> <div class="bar"></div > <div class="percent">0%</div > </div> <!--进度条样式--> <style> body { padding: 30px } form { display: block; margin: 20px auto; background: #eee; border-radius: 10px; padding: 15px } .progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius: 3px; } .bar { background-color: #B4F5B4; width:0%; height:20px; border-radius: 3px; } .percent { position:absolute; display:inline-block; top:3px; left:48%; } </style>
js处理代码:
var bar = $('.bar'); var percent = $('.percent'); var status = $('#status'); $('#fileForm').ajaxForm({ dataType:"json", beforeSend: function() { status.empty(); var percentVal = '0%'; bar.width(percentVal) percent.html(percentVal); }, uploadProgress: function(event, position, total, percentComplete) { var percentVal = percentComplete + '%'; bar.width(percentVal) percent.html(percentVal); }, success: function(result) { console.log("result="); console.log(result); var percentVal = '100%'; bar.width(percentVal) percent.html(percentVal); }, complete: function(xhr) { console.log(xhr); status.html(xhr.responseText); } });
二、Java端代码,Java端使用的是Spring MVC,返回JSON数据,需要在方法前加注释:@ResponseBody
1、接受普通表单提交的数据
@RequestMapping(value = "test") @ResponseBody public Result test(String name,int age){ System.out.println(name); System.out.println(age); return new Result(100,name+" "+age); }
2、接收上传的文件并进行处理
@RequestMapping(value = "testFile") @ResponseBody public Result testFile(@RequestParam("file") MultipartFile file){ System.out.println(file.getContentType()+" "+file.getName()+" "+file.getOriginalFilename()); return new Result(100,file.getOriginalFilename()+" "+file.getSize()); }
相关推荐
在Web开发中,异步表单提交是一种常见需求,它能提供更好的用户体验,因为用户无需等待页面刷新即可完成数据的提交。jQuery.form插件正是为了满足这种需求而设计的,它扩展了jQuery库,使表单异步提交变得更加简单、...
jquery.form.js 无刷新异步提交表单js文件 /** * jQuery Form Plugin * version: 3.51.0-2014.06.20 * Requires jQuery v1.5 or later * Copyright (c) 2014 M. Alsup **/
jQuery Form插件,基于jQuery库,是用于处理HTML表单的增强工具,能够方便地实现异步提交、文件上传等功能,极大地简化了前端开发人员的工作。在这个主题中,我们将深入探讨jQuery Form的核心功能、使用方法以及常见...
《jQuery Form Plugin:简化异步表单提交与文件上传》 在Web开发中,jQuery库以其简洁的API和强大的功能深受开发者喜爱。其中,`jquery.form.js`是jQuery的一个重要插件,它扩展了jQuery的核心功能,使得表单的异步...
1. **Ajax化文件上传**:`jquery.form.js`将传统的表单提交转变为Ajax方式,使得文件上传无需刷新页面,提供更好的用户体验。 2. **异步上传**:利用Ajax技术,文件上传可以在后台进行,用户可以继续浏览其他页面,...
1. **异步表单提交**:通过使用`$.ajaxForm()`或`$.ajaxSubmit()`方法,可以实现异步表单提交。例如: ```javascript $("#myForm").ajaxForm({ success: function(response) { // 提交成功后的回调函数,response...
总的来说,"jquery.MultiFile.js"和"jquery.form.js"的组合使用,为Web开发者提供了一种高效、用户友好的多文件无刷新上传解决方案,极大地提升了用户的交互体验。在实际项目中,开发者可以根据具体需求对这两个库...
- **异步表单提交**:jQuery.form.js的主要特性是支持AJAX方式的表单提交,避免了页面刷新,保持用户交互的连贯性。 - **文件上传**:除了常规的数据提交,该插件还特别支持文件的异步上传,这对于现代网页中的...
jquery.form.min.js是一个异步提交表单的插件,使用该插件可以设置callback函数,并且页面不会跳转
jQuery.form.js 异步提交表单 jQuery.form.js 异步提交表单jQuery.form.js 异步提交表单
Jquery.form.js可以非常简单的实现表单的异步提交,相对于同样是异步上传的ajaxfileupload,它能够实现文件跨域上传。
在 Web 开发中,使用 AJAX 进行异步表单提交是一种常见的技术手段,它允许开发者无需重新加载整个页面即可提交数据并接收响应结果。JQuery 提供了一个强大的插件——JQuery Form,它可以简化这一过程。本文将详细...
从提供的文件信息中,我们可以抽取出关于jquery表单验证插件jquery.form.js的知识点,包括其使用方法、功能和相关API介绍等。 首先,jquery.form.js是一个专门用于处理表单的jQuery插件,它提供了简化AJAX表单提交...
Spring MVC是一个强大的MVC框架,常用于构建Java Web应用,而jQuery Form Plugin则提供了一种便捷的方式通过AJAX进行表单提交,包括文件上传。在本项目"【springmvc+jquery.form.min.js+spring文件上传】"中,我们将...
jQuery Form Plugin的核心特性在于它的异步提交功能,通过AJAX技术实现了无刷新的数据交互,使得用户在提交表单时无需等待页面刷新,提升了用户体验。该插件支持多种提交方式,如GET和POST,同时也支持...