重寫後的標題為:使用PHP按鈕結合jQuery和POST方法來取得回傳值
P粉738821035
2023-09-05 08:42:27
<p>我有一個簡單的表單來取得使用者名,並希望實現以下目標:</p>
<ul>
<li>當使用者點擊按鈕時,按鈕將被停用以防止多次點擊(在實際情況下可能需要幾秒鐘來處理所有數據,例如呼叫API、寫入資料庫等);</li>
<li>點擊後,需要發生新的POST請求,以便在PHP中捕獲$_POST['username']並進一步處理請求。 </li>
</ul>
<p>如何達成這個目標? </p>
<p>程式碼如下,但不按預期工作:</p>
<pre class="brush:php;toolbar:false;"><?php
session_start();
// 當表單提交時處理表單數據
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if(isset($_POST['submit-button'])) {
$uname=$_POST['username'];
header('Location: success.php');
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>My Form</title>
</head>
<body>
<form id="your_form_id" action="test4.php" method="post">
<p><label>Username</label>
<input id="username" type="text" name="username" value="" autofocus/></p>
<input type="submit" id="submit-button" name="submit" value="Login" />
</form>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$("#submit-button").on("click", function(e){
document.getElementById("submit-button").disabled = true;
document.getElementById("submit-button").value="Processing, please wait...";
document.getElementById("your_form_id").submit();
});
</script>
</body>
</html></pre></p>
您正在使用JQuery函式庫,但是您正在使用原生JavaScript指令來處理按鈕和submit()。要嘛您全部使用Pure JS,要嘛全部使用JQuery。
下面的程式碼僅使用JQuery。此外,我用一個按鈕替換了submit。
。 最後,按鈕不會以POST方式傳遞,所以如果您需要進行測試,請在輸入欄位上進行。
下面是一個包含我剛剛提到的元素的程式碼,應該可以幫助您。
#為了實現這一點,可以使用以下原則:
test-a.php:
test-b.php:
test-c.php: