这次给大家带来ajax怎样提交form表单与实现文件上传,ajax提交form表单与实现文件上传的注意事项有哪些,下面就是实战案例,一起来看一下。

前几天,发现了一些小问题。我在写后台管理页面时,需要上传一张图片。于是我就用很普通的Form表单上传有一段Json串和图片文件;

Form表单上传图片只需要在

标签里加上enctype = 'multipart/form-data',这样是可以上传图片的;

但问题来了,在我进行用Form表单提交的时候直接跳出来提交返回值的页面并且原先的页面刷新;

这样我们可以先到异步的Ajax可以实现局部刷新;

废话不多说了 直接上代码;

首先是html:

类型 :
名称 :
开始时间 :
结束时间 :
:
:
门店 :
具体地址 :
上传图片 :

保存

取消

以上是html代码,为了方便大家copy,css直接在标签里了;

有很多朋友想问,为什么写两个form表单;

这是因为根据后台接收数据的需求,传的是信息变成字符串和图片;

首先把信息变成字符串;

再放到第二个Form表单里,细心地朋友发现在第二个form表单里标签里style=“display:none”这是个隐藏的标签;

不错我是通过第一个form表单获取的数据通过js变成字符串再放到隐藏的标签里;

这样通过Ajax提交第二个Form表单就可以了;

js代码:$( '#sub' ).click( function () {

var actTimeStart1 = $ ('#actstarttime') . datebox ('getValue');

var actTimeStart = changeDateToLong(actTimeStart1);

var actTimeEnd1 = $('#actendtime').datebox('getValue');

var actTimeEnd = changeDateToLong(actTimeEnd1);

if(actTimeStart != '' && actTimeEnd != '' && (actTimeStart - actTimeEnd > 0)){

$.messager.alert('警告','结束时间不能小于开始时间!','error');

return false;

}

else{

if ($('#form_insert').form('validate')) {

var actType = document.getElementById("acttype").value;

var actName = document.getElementById("actname").value;

var actArea = document.getElementById("actadd").value;

var actTimeStart1 = $('#actstarttime').datebox('getValue');

var actTimeStart = changeDateToLong(actTimeStart1);

var actTimeEnd1 = $('#actendtime').datebox('getValue');

var actTimeEnd = changeDateToLong(actTimeEnd1);

var t2 = $('#mem_Shop').combobox('getValue');

var jsonObj = {actType:actType,actName:actName,actTimeStart:actTimeStart,actTimeEnd:actTimeEnd,actArea:actArea,t2:t2};

var activityMemberJson = JSON.stringify(jsonObj);

document.getElementById("Item").value=activityMemberJson;

var form = new FormData(document.getElementById("form_sub"));

$.ajax({

url : ../activity/actionActivityInsert', //http://www.cnblogs.com/jayxxxxxxx/

type : "post",

data : form, //第二个Form表单的内容

processData : false,

contentType : false,

error : function(request) {

},

success : function(data) {

$('#box').datagrid('reload');

}

});

window_open($('#insert_form'), 'close');

}else {

$.messager.alert('警告' , '信息不完整!' , 'error');

}

}

});

大家看到了我用了FormData方法,说真的这个在html5里实在是太好用了,上传图片都不用再写enctype = 'multipart/form-data';

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

ajax post form上传图片,ajax怎样提交form表单与实现文件上传相关推荐

  1. php把服务器文件curl提交,php中使用curl进行文件上传的巨坑

    我是一个兼职后端的前端程序员. 我用laravel写了一套微信公众平台管理系统.有一个需求是,切换了开发模式之后,要将一些需要自动回复的图片先push到微信自己的服务器上,换回media_id,然后用 ...

  2. ajax异步文件上传和进度条

    一.ajax异步文件上传 之前有说过在form表单内的文件上传,但是会刷新页面,下面就来实现不刷新页面的异步文件上传 <div class="uploding_div"> ...

  3. ssm java上传图片预览_ssm文件上传_上传图片

    1.搭建好ssm框架 2.导入文件上传所需依赖 commons-fileupload commons-fileupload 1.4 commons-io commons-io 2.6 commons- ...

  4. 转: 如何实现jQuery的Ajax文件上传

    [PHP文件上传] 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的. 实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用 ...

  5. PHP_APC+Ajax实现的监视进度条的文件上传

    //load.js: ADS.addEvent(window, 'load', function(event) {var fileList = ADS.$('fileList');//按照需要修改uo ...

  6. java ajax serialize,jQuery使用serialize(),serializeArray()方法取得表单数据

    $.ajax({ type: "POST", url:"ajax.php", data:$('#formID').serialize(),// 要提交的表单 s ...

  7. ajax 表单提交传文件,Ajax提交Form表单及文件上传

    刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...

  8. ajax c 提交form,使用ajax提交form表单,包括ajax文件上传

    前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },"json"); 又或者是这样的aja ...

  9. .form文件_含文件上传的form表单AJAX提交小结

    最近在学习PHP时,遇到不知道如何含文件上传的form表单AJAX提交,现在把这些记录下来以备自己后续复习时用: HTML代码 *姓名: *性别: {eq name='list.sex' value= ...

最新文章

  1. puppeteer爬虫的奇妙之旅
  2. python提取部分字符串三参数_Python3字符串
  3. 脉冲宽度调制pdm_0-500V可调0-30A高频脉冲电源广元厂家
  4. python3.7怎么设置中文_解决 Bug · Python3.7.3官方文档 简体中文 · 看云
  5. Oracle 10g 数据库的备份和还原
  6. idea中git分支、合并与使用
  7. 解析linux中的vfs文件系统机制,解析Linux中的VFS文件系统机制
  8. 一个有限状态机的C++实现
  9. Linux下snmp常用的OID ---- SNMP硬件监控
  10. 命令netstat和DHCP
  11. RecalcLayout的作用
  12. Ubuntu 11.04 安装后要做的20件事
  13. Memory Forensics (内存取证)
  14. git error Missing tree 解决办法
  15. 小趣味:js编写斗地主规则(完整代码)
  16. 武汉大学计算机学院徐霜,物联网工程专业建设与实践教学研究_余琍
  17. 人工智能重新定义管理
  18. html历史记录代码,js 实现浏览历史记录示例
  19. Springcloud微服务中多模块重复代码重构成公共模块的实现
  20. 王道操作系统课代表 - 考研计算机 第一章 计算机概述 究极精华总结笔记

热门文章

  1. rstudio的数据集怎么建立和保存_这个40M的小工具助你在windows下处理数据如虎添翼...
  2. python基础入门(4)之布尔值
  3. 【OpenCV 例程200篇】89. 带阻滤波器的传递函数
  4. 【OpenCV 例程200篇】10. 图像的拼接(np.hstack)
  5. 组件php53 php55区别,分享下php5类中三种数据类型的区别
  6. js文件中怎么使用thymeleaf标签_007、Spring Boot集成Thymeleaf模板引擎
  7. string 中的offset_【Java基础】String常量的长度有限制吗?
  8. opencv4-图像操作
  9. 任务管理器只有概要信息解决办法
  10. 以知乎为例子来说明MVC是个啥