本文實(shí)例講述了PHP使用HTML5 FormData對(duì)象提交表單操作。分享給大家供大家參考,具體如下:
這是HTML5中新增的一個(gè)Api,他能以表單對(duì)象作為參數(shù),自動(dòng)的把表單的數(shù)據(jù)打包,當(dāng)ajax發(fā)送數(shù)據(jù)時(shí),發(fā)送這個(gè)FormData對(duì)象,以達(dá)到發(fā)送表單數(shù)據(jù)的目的。
創(chuàng)建:
參數(shù)是一個(gè)form節(jié)點(diǎn)對(duì)象
var fm = document.getElementById('formid');
var fd = new FormData(fm);
優(yōu)點(diǎn):
(1)在以往的ajax做post請(qǐng)求時(shí),當(dāng)提交的數(shù)據(jù)比較多時(shí),需要拼接請(qǐng)求的字符串,如:k1=v1k2=v2...
,使用FormData對(duì)象時(shí)不需要這樣,可以節(jié)省工作量,也防止人為拼寫錯(cuò)誤。
(2)FormData對(duì)象不僅可以讀取表單的數(shù)據(jù),也可以自行追加數(shù)據(jù)
案例:
提交表單
效果圖:
![](http://img.jbzj.com/file_images/article/201907/20197292213403.gif?20196292243)
文件結(jié)構(gòu)圖:
![](http://img.jbzj.com/file_images/article/201907/20197292304126.png?20196292335)
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:表單數(shù)據(jù)對(duì)象
* 這是HTML5中新增的一個(gè)Api
* 他能以表單對(duì)象作為參數(shù),自動(dòng)的把表單的數(shù)據(jù)打包
* 當(dāng)ajax發(fā)送數(shù)據(jù)時(shí),發(fā)送這個(gè)formData
* 達(dá)到發(fā)送表單內(nèi)數(shù)據(jù)的目的
*/
function send(){
var fm = document.getElementById('tform');
var fd = new FormData(fm);//創(chuàng)建FormData對(duì)象
var xhr = new XMLHttpRequest();//創(chuàng)建xhr對(duì)象
xhr.open('POST','10-formdata.php',true);//配置請(qǐng)求參數(shù)
//設(shè)置狀態(tài)回調(diào)函數(shù)
xhr.onreadystatechange = function (){
if(this.readyState == 4 this.status == 200){
document.getElementById('debug').innerHTML = this.responseText;
}
}
//說(shuō)明formdata對(duì)象不僅可以讀取表單的數(shù)據(jù),也可以自行追加數(shù)據(jù)
fd.append('Single',false);
xhr.send(fd);//發(fā)送請(qǐng)求
}
/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發(fā)送" onclick="send();"/>
/form>
div id="debug">/div>
/body>
/html>
10-formdata.php文件:
?php
/**
* 使用formData提交表單
* @author webbc
*/
print_r($_POST);
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP目錄操作技巧匯總》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- html form表單基礎(chǔ)入門案例講解
- php 下 html5 XHR2 + FormData + File API 上傳文件操作實(shí)例分析
- HTML的form表單和django的form表單
- Asp.net webForm設(shè)置允許表單提交Html的方法
- Java Web使用Html5 FormData實(shí)現(xiàn)多文件上傳功能
- transform實(shí)現(xiàn)HTML5 video標(biāo)簽視頻比例拉伸實(shí)例詳解
- C#通過(guò)html調(diào)用WinForm的方法
- HTML form表單提交方法案例詳解