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