当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-01 10:09:19 浏览: 评论:0 

这篇文章主要介绍了PHP使用HTML5 FormData对象提交表单操作,结合实例形式分析了PHP使用HTML5 FormData对象提交表单的具体原理、实现方法及相关操作技巧,需要的朋友可以参考下。

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

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

创建:

参数是一个form节点对象

var fm = document.getElementById('formid');

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文件:

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4.   <meta charset="utf-8"> 
  5.   <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
  6.   <title>FormData使用</title> 
  7.   <link rel="stylesheet" href=""> 
  8. </head> 
  9. <script> 
  10.   /** 
  11.    * FromData:表单数据对象 
  12.    * 这是HTML5中新增的一个Api 
  13.    * 他能以表单对象作为参数,自动的把表单的数据打包 
  14.    * 当ajax发送数据时,发送这个formData 
  15.    * 达到发送表单内数据的目的 
  16.    */ 
  17.   function send(){ 
  18.     var fm = document.getElementById('tform'); 
  19.     var fd = new FormData(fm);//创建FormData对象 
  20.     var xhr = new XMLHttpRequest();//创建xhr对象 
  21.     xhr.open('POST','10-formdata.php',true);//配置请求参数 
  22.     //设置状态回调函数 
  23.     xhr.onreadystatechange = function (){ 
  24.       if(this.readyState == 4 && this.status == 200){ 
  25.         document.getElementById('debug').innerHTML = this.responseText; 
  26.       } 
  27.     } 
  28.     //说明formdata对象不仅可以读取表单的数据,也可以自行追加数据 
  29.     fd.append('Single',false); 
  30.     xhr.send(fd);//发送请求 
  31.   } 
  32. </script> 
  33. <body> 
  34.   <form id="tform"> 
  35.     用户名:<input type="text" name="username"/><br/> 
  36.     年龄:<input type="text" name="age"/><br/> 
  37.     邮箱:<input type="text" name="email"/><br/> 
  38.     性别:<input type="text" name="sex"/><br/> 
  39.     <input type="button" value="ajax发送" onclick="send();"/> 
  40.   </form> 
  41.   <div id="debug"></div> 
  42. </body> 
  43. </html> 

10-formdata.php文件:

  1. <?php 
  2. /** 
  3.  * 使用formData提交表单 
  4.  * @author webbc 
  5.  */ 
  6. print_r($_POST); 
  7. ?>

Tags: HTML5 FormData

分享到: