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

这次给大家带来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中文网其它相关文章!

推荐阅读:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统启动 之 Linux系统启动概述(2)

博客:http://blog.csdn.net/younger_china/article/details/51615916 Linu系统启动是一个”冗长乏味”的过程,那么我们现就需要去经历一下这个冗长乏味的生活。我们按照如下流程来分析: 1. 史前时代:BIOS 计算机在上电那一刻几乎是毫无用处的…

python 全文搜索 句子_python新玩法:用python进行文章摘要拿取,只需要一行代码

前言今天为大家介绍一个python算法TextRank,实现从长篇中快速抽取精准摘要。TextRank是一种基于图形的文本处理排序算法。PageRank通常用作其底层的图排序模型。当然,其他的图排序模型也可以与之结合。TextRank算法不需要深入的语言和专业知识,因为它是一…

ajax 赋值 获取,ajax得到的数据赋值给js中的全局变量

在JS函数里面用了AJAX,然后就发现怎么里面都赋值不了给全局变量,原来是异步的问题,如下:我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢?原因其实很简…

Django小项目简单BBS论坛

开发一个简单的BBS论坛项目需求:1 整体参考“抽屉新热榜” + “虎嗅网” 2 实现不同论坛版块 3 帖子列表展示 4 帖子评论数、点赞数展示 5 在线用户展示 6 允许登录用户发贴、评论、点赞 7 允许上传文件 8 帖子可被置顶 9 可进行多级评论知识必备&#x…

时间转年月日_编程中常见的时间格式

时间格式前端和后端时经常会遇到各种各样的时间格式,这些格式在编写程序的时候都需要去使用不同的处理方式,这里集中写一下。先说一下各种不同的时间格式。类型名格式说明ISO 8601一般:2020-12-05T05:33:19Z 东八区:2004-05-03T17…

外星人台式机无盘服务器,可以拎走的“台式机” Alienware Area-51m评测

Alienware外星人这个品牌曾经一度是游戏笔记本领域的执牛耳者,自从1996年创立以来,品牌宗旨就是提供最强的PC性能,最有个性的设计和最好的服务。凭借着强悍的配置、创新的黑科技和酷炫的灯效,其一度是业内高端和高品质的代名词。但…

法流程图_世界五大学习方法之西蒙学习法

世界五大学习方法之西蒙学习法摘要:西蒙学习法为6个月可以掌握任何一门学问,它的本质是广义动量定理。广义动量定理通过调整力量、方向、作用点和时间来增加成果。西蒙学习法使用了降低问题难度方法中的一种:拆分。本节分为四个部分&#xff…

git 工具

https://www.kernel.org/pub/software/scm/git/ wget https://www.kernel.org/pub/software/scm/git/git-2.8.4.tar.xz https://git-scm.com/downloads/guis转载于:https://www.cnblogs.com/zengkefu/p/5573634.html

生成word_Word如何生成目录?3个步骤轻松掌握!

在使用Word编写长篇文档时,我们经常会给内容生成一个目录,有了目录,无论是阅读还是查找内容,都非常方便。Word生成目录是一项核心功能,这是每个使用Word的人,必须要掌握的一项技巧。如果你还不会这项技巧&a…

extern C的用法解析

http://www.cnblogs.com/xulei/archive/2006/11/12/558139.html转载于:https://www.cnblogs.com/xunbu7/p/5578681.html

启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明

内网穿透工具 FRP 公网服务端、内网客户端 frps.ini 、frpc.ini 配置文件常用设置展示及说明公网服务端 frps.ini 配置文件常用设置公网服务端配置文件:frps.ini[common]bind_port 7000# vhost_http_port 参数来设置 HTTP 访问端口,此处示例&#xff1a…

进程、线程相关知识点整理

什么是进程 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。 进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它…

设置dns_2019让你的网速飞起来,你需要……设置正确DNS服务篇

有时候上网明明网络连接正常,但网页访问却很慢?平时会不会经常听到一些老司机说,网络很慢啊可以修改一下DNS啊!什么是DNS?又为什么会对网速产生影响呢?跟着小编的教程一起来学习一下吧~PART 1 什么是DNS&am…

c/c++多线程编程中最好不要加volatile

来自https://www.zhihu.com/question/31459750 答主解释说:不能指望volatile能解决多线程竞争问题,除非所用的环境系统不可靠才会为了保险加上volatile, 或者从极限效率考虑来实现很底层的接口,这要求编写者对逻辑走向很清楚&…

5 随窗口改变大小_C4D默认界面两个关于坐标轴的窗口有什么区别

前言在一开始学习C4D的时候,就有这个疑问,为什么明明物体的属性都有了一个坐标属性的窗口了,还要有一个和坐标相关的窗口在默认的界面呢,后边在使用的过程中才慢慢理解了额外的坐标管理器窗口的作用,这一篇文章我们来看…

iOS  Emoji表情编码/解码

之前做弹幕的时候 遇到的表情编码解码问题 表情编码一般是使用unicode编码 ,编码之后的格式 \ud83d\ude18\ud83d\ude18world\u4e16\u754chaha\ud83d\ude17 //编码NSString *uniStr [NSString stringWithUTF8String:[_barrageText.text UTF8String]];NSData *uniDat…

时间单位的档案

时间单位的档案 2011-09-14 10:33:20分类: C/C 编辑: 李瑛 撰文/David Labrader [崔琳琳/译 曾少立/校]时间的单位可以从极小到极大,下面的描述是想传达一种超大时间跨度的感受。一渺秒(十亿分之一秒的十亿分之一)科学…

MySQL数据查询新人须知

MySQL 是一个开放源码的小型关系型数据库管理系统。 针对不同的用户,MySQL 一共分为两个不同的版本: MySQL Community Server(社区版服务器)。 MySQL Enterprise Server(企业版服务器)。 目前 Internet …

combobox异步加载 easyui_如何解决多条数据加载easyui-combobox样式反应慢的问题

问题描述总共一百条数据,数据中加入combobox样式,打开页面出现卡顿情况问题出现的环境背景及自己尝试过哪些方法一条数据,有三处地方用到combobox样式,如果有100条数据是,打开页面编辑这100条数据就会出现页面卡顿情况…

板邓:wordpress中add_action()和do_action()关系

学习wordpress插件开发的都知道很熟悉这两个函数&#xff0c;也是必须要掌握的&#xff01; 我们来看一下一段代码&#xff1a; <? add_action("wp_footer","hc_copyright_install");function hc_copyright_install() {echo"板邓wordpress开发&q…