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 $_ENV为空的原因分析
Jun 01 PHP
php懒人函数 自动添加数据
Jun 28 PHP
一个经典的PHP验证码类分享
Nov 18 PHP
PHP将HTML转换成文本的实现代码
Jan 21 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
学习php设计模式 php实现原型模式(prototype)
Dec 07 PHP
PHP导出带样式的Excel示例代码
Aug 28 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
Aug 04 PHP
PHP抽象类基本用法示例
Dec 28 PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 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
图书管理程序(一)
2006/10/09 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
php写的AES加密解密类分享
2014/06/20 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
采用call方式实现js继承
2014/05/20 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
tensorflow之变量初始化(tf.Variable)使用详解
2020/02/06 Python
python绘制玫瑰的实现代码
2020/03/02 Python
Python同时处理多个异常的方法
2020/07/28 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
基于PyTorch中view的用法说明
2021/03/03 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
淘宝店铺营销方案
2014/02/13 职场文书
报告会主持词
2014/04/02 职场文书
工作检讨书怎么写
2014/10/10 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
排查Tomcat进程假死的问题
2022/05/06 Servers