一、formData()直接获取form表单数据

例子:获取form表单的id给formData(),然后传给后台。

要求:

  • 传入值的name值必须与后台接受的name相对应。
  • form表单不能嵌套,否则获取不到数值。

html代码:

<form id="wu-form-stuInfo" enctype="multipart/form-data">
<table>
<tr>
<td align="right">姓名:</td>
<td><input id="stuName" type="text" name="stuName" class="wu-text" placeholder="不能为空" /></td>
</tr>
<tr>
<td align="right">年龄:</td>
<td><input id="stuAge" type="text" name="stuAge" class="wu-text" placeholder="不能为空,例如:18" /></td>
</tr>
<tr>
<td align="right">性别:</td>
<td><input id="stuSex" type="text" name="stuSex" class="wu-text" placeholder="不能为空,例如:女" /></td>
</tr>
<tr>
<td width="60" align="right">图片上传:</td>
<td>
<input class="fl" type="file" id="imgPath" name="file" onchange="javascript:setImagePreview();" />
</td>
</tr>
<tr>
<td valign="top" align="right">介绍:</td>
<td><textarea id="stuIntroduce" name="stuIntroduce" rows="6" class="wu-textarea" style="width:260px" placeholder="不能为空,字数为200字以内。" required="true" maxlength="200"></textarea></td>
</tr>
</table>
</form>

js代码:

var obj = document.getElementById("wu-form-stuInfo");//获取id为wu-form-stuInfo的对象
// var obj = document.forms.namedItem("wu-form-stuInfo");//获取表单集合中id为wu-form-stuInfo的form表单
// var obj = document.forms[0];//获取表单集合中的第一个form表单
var formData = new FormData(obj);
formData.append("id",id);//添加学生的id

后台代码:

根据传入字段,可以用相同的字段名接收,也可以用符合的实体类接收,注:文件接收格式为MultipartFile。

二、向formData()添加数据

例子:获取传入数据的值给formData(),然后传给后台。

要求:

  • 传入值的name值必须与后台接受的name相对应。

html代码:

同上

js代码:

var file = $("#imgPath")[0].files[0];//获取文件

var formData = new FormData();
formData.append("file", file);
formData.append("id",id);//添加学生的id
formData.append("stuName", $("#stuName").val());
formData.append("stuAge", $("#stuAge").val());
formData.append("stuSex", $("#stuSex").val());
formData.append("stuIntroduce", $("#stuIntroduce").val());

form表单上传文件的更多相关文章

  1. django 基于form表单上传文件和基于ajax上传文件

    一.基于form表单上传文件 1.html里是有一个input type="file" 和 ‘submit’的标签 2.vies.py def fileupload(request ...

  2. 巨蟒python全栈开发django11:ajax&&form表单上传文件contentType

    回顾: 什么是异步? 可以开出一个线程,我发出请求,不用等待返回,可以做其他事情. 什么是同步? 同步就是,我发送出了一个请求,需要等待返回给我信息,我才可以操作其他事情. 局部刷新是什么? 通过jq ...

  3. vue form表单上传文件

    <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js">< ...

  4. 使用form表单上传文件

    在使用form表单上传文件时候,input[type='file']是必然会用的,其中有一些小坑需要避免. 1.form的 enctype="multipart/form-data" ...

  5. JsonResponse类的使用、form表单上传文件补充、CBV和FBV、HTML的模板语法之传值与过滤器

    昨日内容回顾 Django请求生命周期 # 1.浏览器发起请求 到达Django的socket服务端(web服务网关接口) 01 wsgiref 02 uwsgi + nginx 03 WSGI协议 ...

  6. PHP 后台程序配置config文件,及form表单上传文件

    一,配置config文件 1获取config.php文件数组, 2获取form 表单提交的值 3保存更新config.php文件,代码如下: $color=$_POST['color']; $back ...

  7. nodejs 模拟form表单上传文件

    使用nodejs来模拟form表单进行文件上传,可以同时上传多个文件. 以前项目里有这个方法,最近在客户那里出问题了,同事说,这个方法从来就没管用过,SO,用了一天时间把这个方法给搞出来了(觉得花费的 ...

  8. form表单上传文件使用multipart请求处理

    在开发Web应用程序时比较常见的功能之一,就是允许用户利用multipart请求将本地文件上传到服务器,而这正是Grails的坚固基石——spring MVC其中的一个优势.Spring通过对Serv ...

  9. 通过form表单上传文件获取后台传来的数据

    小伙伴是不是遇到过这样的问题,通过submit提交form表单的时候,不知怎么获取后台传来的返回值.有的小伙伴就会说你不会发送ajax,其实也会.假如提交的form表单中含有文件,怎么办? 步骤1:想 ...

随机推荐

  1. Shiro - 关于session

    Shiro Session session管理可以说是Shiro的一大卖点. Shiro可以为任何应用(从简单的命令行程序还是手机应用再到大型企业应用)提供会话解决方案. 在Shiro出现之前,如果我 ...

  2. java 并发(六) --- 锁

          阅读前阅读以下参考资料,文章图片或代码部分来自与参考资料 概览 一张图了解一下java锁. 注 : 阻塞将会切换线程,切换内核态和用户态,是比较大的性能开销 各种锁 为什么要设置锁的等级 ...

  3. git提交空文件夹和删除远程文件

    git提交空文件夹 在文件夹中创建 .gitkeep 文件,文件内容如下 # Ignore everything in this directory * # Except this file !.gi ...

  4. C Primer Plus note5

    error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token| 遇到这种情况,不要看这里显示了三个错误,就很着急.静 ...

  5. maven项目在eclipse中debug

    作为新手,出现bug后,debug找出bug还是很重要的,能节约大量找bug的时间 1.选中项目,右键点击-->run as -->run configurations 2.在run co ...

  6. json_decode($json, true) true什么意思

    <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}' ...

  7. mockjs

    首先还是那句话,进来的GodBoy and GoodGirl 不妨看完再离开.  一个走在路上的前端攻城狮-along 一.mock的由来 mock有“愚弄.欺骗”之意,在前端领域,mock可以理解为 ...

  8. Android 查看和管理sqlite数据库

    在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看.android项目中的sqlite数据库位于/data/data/项目包/databas ...

  9. mongodb时间点备份恢复

    1:创建测试数据 > use maxiangqian switched to db maxiangqian "}) WriteResult({ "nInserted" ...

  10. SVN升级到1.8后 Upgrade working copy

    SVN升级到1.8后没法用了,不能提交,提示说要SVN Upgrade working copy, 但是半天在根目录和.svn所在文件夹上面右键都没有找到这个菜单. 坑爹的…… 最后找到解决办法是:重 ...