書き直されたタイトルは次のとおりです: PHP ボタンを jQuery および POST メソッドと組み合わせて戻り値を取得する
<p>ユーザー名を取得するための単純なフォームがあり、次のことを実現したいと考えています: </p>
<li>ユーザーがボタンをクリックすると、複数回のクリックを防ぐためにボタンが無効になります (実際の場合、API の呼び出しやデータベースへの書き込みなど、すべてのデータを処理するのに数秒かかる場合があります)。 </li>
<li>クリック後、PHP で $_POST['username'] をキャプチャし、リクエストをさらに処理するために、新しい POST リクエストを発生する必要があります。 </li>
</ul>
<p>この目標を達成するにはどうすればよいですか? </p>
<p>コードは次のとおりですが、期待どおりに動作しません: </p>
<pre class="brush:php;toolbar:false;"><?php
セッション開始();
// フォーム送信時にフォームデータを処理します
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if(isset($_POST['送信ボタン'])) {
$uname=$_POST['ユーザー名'];
header('場所: success.php');
}
}
?>
<!DOCTYPE html>
<html>
<頭>
<title>マイフォーム</title>
</head>
<本体>
<フォーム ID="your_form_id" アクション="test4.php" メソッド="post">
<p><label>ユーザー名</label>
<input id="ユーザー名" type="text" name="ユーザー名" value=""autofocus/></p>
<input type="submit" id="submit-button" name="submit" value="Login" />;
</フォーム>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<スクリプトタイプ="text/javascript">
$("#submit-button").on("click", function(e){
document.getElementById("送信ボタン").disabled = true;
document.getElementById("送信ボタン").value="処理中です。お待ちください...";
document.getElementById("your_form_id").submit();
});
</スクリプト>
</ボディ>
</html></pre></p>