色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Ajax+PHP 邊學邊練之四 表單

談到Form就涉及到一個發送請求方式問題(GET和POST),對于GET和POST的使用和區別在本文就不詳細說明了,一般對于Web開發由于POST傳值為隱式且傳輸數據量較大所以比較常用。在本例中對functions.js進行下修改,將創建XMLHttp對象程序創建為一個函數processajax。
復制代碼 代碼如下:
function processajax (serverPage, obj, getOrPost, str){
//將創建XMLHttpRequest對象寫到getxmlhttp()函數中,并獲取該對象
xmlhttp = getxmlhttp ();
//GET方式(和前面幾篇一樣)
if (getOrPost == "get"){
xmlhttp.open("GET", serverPage);
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
obj.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
//POST方式
else{
//第三個true參數將打開異步功能
xmlhttp.open("POST", serverPage, true);
//創建POST請求
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=GB2312");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
obj.innerHTML = xmlhttp.responseText;
}
}
//表單(Form)傳值
xmlhttp.send(str);
}
}

在下圖中當點擊“Submit”按鈕后會激發submitform函數(functions.js),在該函數中會通過getformvalues函數檢查Form內容是否都填寫完畢,否則提示哪項未填寫。當檢查通過后會調用process_task.php程序,它會將Form值寫入數據庫。
notask 
submitform 函數:
復制代碼 代碼如下:
function submitform (theform, serverPage, objID, valfunc){
var file = serverPage;
//檢查Form值
var str = getformvalues(theform,valfunc);
//Form全部填寫
if (aok == true){
obj = document.getElementById(objID);
//運行Ajax進行傳值
processajax(serverPage, obj, "post", str);
}
}

getformvalues 函數:
復制代碼 代碼如下:
function getformvalues (fobj, valfunc){
var str = "";
aok = true;
var val;    
//遍歷Form中所有對象
for(var i = 0; i < fobj.elements.length; i++){
if(valfunc){
if (aok == true){
val = valfunc (fobj.elements[i].value,fobj.elements[i].name);
if (val == false){
aok = false;
}
}
}
str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
}
//將Form值以String形式返回
return str;
}

process_task.php 程序:
復制代碼 代碼如下:
<?php
require_once ("dbconnector.php");
opendatabase();
//對數據預處理
$yourname = strip_tags (mysql_real_escape_string ($_POST['yourname']));
$yourtask = strip_tags (mysql_real_escape_string ($_POST['yourtask']));
$thedate = strip_tags (mysql_real_escape_string ($_POST['thedate']));
//創建Insert語句
$myquery = "INSERT INTO task (name, thedate, description) VALUES ('$yourname','$thedate','$yourtask')";
//執行SQL語句
if (!mysql_query ($myquery)){
header ("Location: theform.php?message=There was a problem with the entry.");
exit;
}
//返回成功信息
header ("Location: theform.php?message=Success");
?>

源代碼下載

php技術Ajax+PHP 邊學邊練之四 表單,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 宁武县| 长兴县| 巴东县| 盐源县| 宜章县| 体育| 大庆市| 达州市| 凤山市| 屯门区| 盈江县| 全椒县| 佳木斯市| 曲沃县| 涞水县| 水富县| 乐都县| 沙田区| 公安县| 苏尼特左旗| 九江县| 霸州市| 栖霞市| 印江| 旅游| 台北市| 肃宁县| 晋江市| 常熟市| 得荣县| 西平县| 东兰县| 甘肃省| 通辽市| 汾阳市| 澄城县| 广南县| 高密市| 宁南县| 泊头市| 探索|