`

jquery.form异步无刷新提交表单 上传文件应用

    博客分类:
  • Java
阅读更多

强大的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());
	}

 

 

 

分享到:
评论

相关推荐

    使用jQuery.form插件,实现完美的表单异步提交

    在Web开发中,异步表单提交是一种常见需求,它能提供更好的用户体验,因为用户无需等待页面刷新即可完成数据的提交。jQuery.form插件正是为了满足这种需求而设计的,它扩展了jQuery库,使表单异步提交变得更加简单、...

    jquery.form.js 无刷新异步提交表单js文件

    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.form.js

    jQuery Form插件,基于jQuery库,是用于处理HTML表单的增强工具,能够方便地实现异步提交、文件上传等功能,极大地简化了前端开发人员的工作。在这个主题中,我们将深入探讨jQuery Form的核心功能、使用方法以及常见...

    jquery.form.js

    《jQuery Form Plugin:简化异步表单提交与文件上传》 在Web开发中,jQuery库以其简洁的API和强大的功能深受开发者喜爱。其中,`jquery.form.js`是jQuery的一个重要插件,它扩展了jQuery的核心功能,使得表单的异步...

    jquery文件上传js:jquery.form.js

    1. **Ajax化文件上传**:`jquery.form.js`将传统的表单提交转变为Ajax方式,使得文件上传无需刷新页面,提供更好的用户体验。 2. **异步上传**:利用Ajax技术,文件上传可以在后台进行,用户可以继续浏览其他页面,...

    jquery.form.js和使用说明

    1. **异步表单提交**:通过使用`$.ajaxForm()`或`$.ajaxSubmit()`方法,可以实现异步表单提交。例如: ```javascript $("#myForm").ajaxForm({ success: function(response) { // 提交成功后的回调函数,response...

    jquery.Mulltifile.js和jquery.form.js无刷新上传多个文件

    总的来说,"jquery.MultiFile.js"和"jquery.form.js"的组合使用,为Web开发者提供了一种高效、用户友好的多文件无刷新上传解决方案,极大地提升了用户的交互体验。在实际项目中,开发者可以根据具体需求对这两个库...

    jquery.form.js下载_jquery.form.js上传文件插件下载

    - **异步表单提交**:jQuery.form.js的主要特性是支持AJAX方式的表单提交,避免了页面刷新,保持用户交互的连贯性。 - **文件上传**:除了常规的数据提交,该插件还特别支持文件的异步上传,这对于现代网页中的...

    jquery.form.min.js

    jquery.form.min.js是一个异步提交表单的插件,使用该插件可以设置callback函数,并且页面不会跳转

    jQuery.form.js 架包

    jQuery.form.js 异步提交表单 jQuery.form.js 异步提交表单jQuery.form.js 异步提交表单

    Jquery.form.js

    Jquery.form.js可以非常简单的实现表单的异步提交,相对于同样是异步上传的ajaxfileupload,它能够实现文件跨域上传。

    JQuery.form表单提交参数详解.txt

    在 Web 开发中,使用 AJAX 进行异步表单提交是一种常见的技术手段,它允许开发者无需重新加载整个页面即可提交数据并接收响应结果。JQuery 提供了一个强大的插件——JQuery Form,它可以简化这一过程。本文将详细...

    jquery表单验证插件jquery.form.js.pdf

    从提供的文件信息中,我们可以抽取出关于jquery表单验证插件jquery.form.js的知识点,包括其使用方法、功能和相关API介绍等。 首先,jquery.form.js是一个专门用于处理表单的jQuery插件,它提供了简化AJAX表单提交...

    【springmvc+jquery.form.min.js+spring文件上传】

    Spring MVC是一个强大的MVC框架,常用于构建Java Web应用,而jQuery Form Plugin则提供了一种便捷的方式通过AJAX进行表单提交,包括文件上传。在本项目"【springmvc+jquery.form.min.js+spring文件上传】"中,我们将...

    jQuery.form.js

    jQuery Form Plugin的核心特性在于它的异步提交功能,通过AJAX技术实现了无刷新的数据交互,使得用户在提交表单时无需等待页面刷新,提升了用户体验。该插件支持多种提交方式,如GET和POST,同时也支持...

Global site tag (gtag.js) - Google Analytics