你好社區 Stackoverflow,
我最近再次開始對 Web 開發進行一些實驗,如果您能幫助我解決以下問題,我將不勝感激:
我正在嘗試將每個輸入的字串以下圖形式保存在資料庫中,在滑鼠游標離開文本框(OnLeave)后,在用戶單擊“保存”按鈕后,將從資料庫中呼叫該字串”。單擊“保存”后,我需要在保存資料之前檢查此字串
示例:
第 1 步:用戶在輸入欄位中鍵入他的 Name = 'Stackoverflower',然后將滑鼠游標移到輸入欄位之外;
第 2 步:通過離開 inputfiel,在后臺發生以下事件:php 代碼將該輸入(名稱:'Stackoverflower')保存在資料庫中;
第 3 步:用戶點擊“保存”按鈕后,PHP 代碼將呼叫該字串“Stackoverflower”;
這是一個解決方案,但我不想在資料庫中保存任何資料,除非用戶單擊“保存”。那么我怎樣才能暫時保存該輸入(不在資料庫中 - 可能在隱藏的 dom 元素中?或者你可能有更好的主意?)。
我會感謝你的互動
友好的問候雷達

uj5u.com熱心網友回復:
PHP 僅在頁面加載時執行,為此,您需要使用 Ajax 執行保存 PHP 腳本。
要存盤值,您可以使用變數。
let fname; // declare the fname value
let lname; // declare the lname value
let bday; // declare the bday value
function mouseLeft() {
fname = document.getElementById('fname').value; // store the first name value
lname = document.getElementById('lname').value; // store the last name value
bday = document.getElementById('bday').value; // store the birthday value
//optional:
document.getElementById('storedvalues').innerText = "fname=" fname ", lname=" lname ", bday=" bday;
// your ajax script goes here with fname, lname and bday being the values of their respective inputs
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>test</title>
</head>
<body onmouseleave="mouseLeft();"> <!-- function that executes on mouse leave -->
<form> <!-- your form goes here, just add the ids to the inputs -->
<label for="fname">First name:</label>
<input type="text" id="fname">
<br>
<label for="lname">Last name:</label>
<input type="text" id="lname">
<br>
<label for="bday">Birthday:</label>
<input type="date" id="bday">
</form>
<!-- optional, just for debug -->
<p>stored values: <span id="storedvalues">fname=, lname=, bday=</span></p>
</body>
</html>
您可以在此處了解變數。
這是一個使用 AJAX 的 GET 請求示例,您可以對其進行調整以適合您的代碼:
var objXMLHttpRequest = new XMLHttpRequest();
objXMLHttpRequest.onreadystatechange = function() {
if(objXMLHttpRequest.readyState === 4) {
if(objXMLHttpRequest.status === 200) {
alert(objXMLHttpRequest.responseText);
} else {
alert('Error Code: ' objXMLHttpRequest.status);
alert('Error Message: ' objXMLHttpRequest.statusText);
}
}
}
objXMLHttpRequest.open('GET', 'request_ajax_data.php');
objXMLHttpRequest.send();
您可以在此處了解如何使用和調整此代碼。
您還可以以編程方式執行在新選項卡中打開的表單,而不是使用 AJAX,在我看來這是更簡單的方法。
// use vars, put in function under variables being set
document.getElementById('fnamef2input').value = fname;
document.getElementById('lnamef2input').value = lname;
document.getElementById('bdayf2input').value = bday;
// submit form, put in function:
document.getElementById('mySecondForm').submit();
<form action="..." method="GET" id="mySecondForm">
<input type="hidden" name="fname" id="fnamef2input">
<input type="hidden" name="lname" id="lnamef2input">
<input type="hidden" name="bday" id="bdayf2input">
</form>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/524369.html
標籤:phpcss
上一篇:合并兩個字串
下一篇:在HTML中呼叫php腳本的問題
