[英]Update part of webpage using PHP
我正在使用PHP創建我的出勤網頁,當用戶輸入時,他會獲得當月的出勤。 用戶可以使用下拉菜單更改月份,從而刷新整個頁面。 我只希望刷新表,而不要刷新整個頁面。
誰能告訴我如何使用PHP做到這一點。
您必須將AJAX用於此類用途。 閱讀有關。
您可以使用ajax在dropdownlist的change事件上發送http請求以將其保存在數據庫中,這是發送請求的示例代碼
function makeattan(p)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","afilename.php,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
}
為此使用Ajax。
構建一個函數,該函數將通過ajax從服務器獲取當前頁面。 然后,數據將被放置在頁面的同一區域內,並用新內容替換舊內容。
您可以使用jQuery 加載
例如
$( "#result" ).load( "ajax/test.html", function() {
alert( "Load was performed." );
});
注意,加載會自動替換內容。
您必須使用AJAX,例如,同時使用PHP和jQuery; 像這樣的東西:
HTML:
<a href="yourScript.php" class="ajaxLink">Load content</a>
<div id="dynamicContentDiv">
</div>
JS:
$( function() {
$( ".ajaxLink" ).on( "click", function() {
var ajaxUrl = $( this ).attr( "href" );
$.get({
ajaxUrl,
function( response ) {
$( "#dynamicContentDiv" ).html( response );
}
});
}
}
使用此基本腳本,您可以將GET請求發送到腳本,並將響應放入dynamicContentDiv
; 請參閱jQuery文檔和AJAX資源以獲取更多高級行為。 ;)
PHP在服務器端運行。 從廣義上講,這是來自用戶的請求發生的情況:
您可以使用AJAX發送請求。 所發生的變化是瀏覽器返回了響應,但不更改頁面內容,它只是引發了一個事件,該事件包含可使用的myPage.html內容,但您希望在JavaScript中使用它。 在PHP方面,您什么也不能更改,重要的部分是更新頁面必須編寫的JavaScript。
顯然,由於您只更改了頁面的一部分,所以最好不要將整個myPage.html從服務器發送回去,而只發送頁面中要更改的部分,或者是有關如何更改頁面的藍圖。
*)myPage.html實際上不存在。 嚴格來說,這是我為PHP腳本myPage.php輸出指定的名稱。
您可以在整個Web上找到有關AJAX的良好資源。 我將提供最知名的鏈接之一,但是隨時可以找到一個適合您的鏈接。
https://developer.mozilla.org/zh-CN/docs/AJAX
PS:由於您將問題標記為jQuery,因此您應該知道jQuery對AJAX具有很好的支持。 我建議您(學習)使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.