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 相关文章推荐
使用 MySQL Date/Time 类型
Mar 26 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
php数据库配置文件一般做法分享
Jul 07 PHP
php牛逼的面试题分享
Jan 18 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
在PHP中使用FastCGI解析漏洞及修复方案
Nov 10 PHP
浅谈PHP中的错误处理和异常处理
Feb 04 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 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文本操作类
2006/11/25 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
修改发贴的编辑功能
2007/03/07 Javascript
jquery dialog键盘事件代码
2010/08/01 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
python实现发送和获取手机短信验证码
2016/01/15 Python
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
python实现密码强度校验
2020/03/18 Python
python3中数组逆序输出方法
2020/12/01 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
应届生简历中的自我评价
2014/01/13 职场文书
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python