PHP使用HTML5 FormData对象提交表单操作示例


Posted in PHP onJuly 02, 2019

本文实例讲述了PHP使用HTML5 FormData对象提交表单操作。分享给大家供大家参考,具体如下:

这是HTML5中新增的一个Api,他能以表单对象作为参数,自动的把表单的数据打包,当ajax发送数据时,发送这个FormData对象,以达到发送表单数据的目的。

创建:

参数是一个form节点对象

var fm = document.getElementById('formid');
var fd = new FormData(fm);

优点:

(1)在以往的ajax做post请求时,当提交的数据比较多时,需要拼接请求的字符串,如:k1=v1&k2=v2...,使用FormData对象时不需要这样,可以节省工作量,也防止人为拼写错误。

(2)FormData对象不仅可以读取表单的数据,也可以自行追加数据

fd.append(name,value);

案例:

提交表单

效果图:

PHP使用HTML5 FormData对象提交表单操作示例

文件结构图:

PHP使用HTML5 FormData对象提交表单操作示例

10-formdata.html文件:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>FormData使用</title>
  <link rel="stylesheet" href="">
</head>
<script>
  /**
   * FromData:表单数据对象
   * 这是HTML5中新增的一个Api
   * 他能以表单对象作为参数,自动的把表单的数据打包
   * 当ajax发送数据时,发送这个formData
   * 达到发送表单内数据的目的
   */
  function send(){
    var fm = document.getElementById('tform');
    var fd = new FormData(fm);//创建FormData对象
    var xhr = new XMLHttpRequest();//创建xhr对象
    xhr.open('POST','10-formdata.php',true);//配置请求参数
    //设置状态回调函数
    xhr.onreadystatechange = function (){
      if(this.readyState == 4 && this.status == 200){
        document.getElementById('debug').innerHTML = this.responseText;
      }
    }
    //说明formdata对象不仅可以读取表单的数据,也可以自行追加数据
    fd.append('Single',false);
    xhr.send(fd);//发送请求
  }
</script>
<body>
  <form id="tform">
    用户名:<input type="text" name="username"/><br/>
    年龄:<input type="text" name="age"/><br/>
    邮箱:<input type="text" name="email"/><br/>
    性别:<input type="text" name="sex"/><br/>
    <input type="button" value="ajax发送" onclick="send();"/>
  </form>
  <div id="debug"></div>
</body>
</html>

10-formdata.php文件:

<?php
/**
 * 使用formData提交表单
 * @author webbc
 */
print_r($_POST);
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
检测png图片是否完整的php代码
Sep 06 PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
PHP反射机制用法实例
Aug 28 PHP
PHP获取Exif缩略图的方法
Jul 13 PHP
php上传图片类及用法示例
May 11 PHP
PHP读取word文档的方法分析【基于COM组件】
Aug 01 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
php双层循环(九九乘法表)
Oct 23 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 #PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
Jul 01 #PHP
PHP大文件切割上传并带进度条功能示例
Jul 01 #PHP
PHP大文件切割上传功能实例分析
Jul 01 #PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 #PHP
PHP封装cURL工具类与应用示例
Jul 01 #PHP
PHP session垃圾回收机制实例分析
Jun 28 #PHP
You might like
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
php中动态修改ini配置
2014/10/14 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
破解Session cookie的方法
2006/07/28 Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
jQuery带时间的日期控件代码分享
2015/08/26 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
Django中实现点击图片链接强制直接下载的方法
2015/05/14 Python
python相似模块用例
2016/03/04 Python
Python打包可执行文件的方法详解
2016/09/19 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
python Celery定时任务的示例
2018/03/13 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
django下创建多个app并设置urls方法
2020/08/02 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
2013的个人自我评价
2013/12/26 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
python神经网络编程之手写数字识别
2021/05/08 Python
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS