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 相关文章推荐
PHP的FTP学习(三)
Oct 09 PHP
PHP5函数小全(分享)
Jun 06 PHP
php读取3389的脚本
May 06 PHP
php实现无限级分类
Dec 24 PHP
PHP生成唯一订单号的方法汇总
Apr 16 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
Jan 08 PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 PHP
PHP 对象继承原理与简单用法示例
Apr 21 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随机生成随机个数的字母组合示例
2014/01/14 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
Python访问MySQL封装的常用类实例
2014/11/11 Python
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
Python切片知识解析
2016/03/06 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
关于圣诞节的广播稿
2014/01/26 职场文书
大学三年计划书范文
2014/04/30 职场文书
离婚协议书怎么写
2015/01/26 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB