Der umgeschriebene Titel lautet: PHP-Schaltflächen in Kombination mit jQuery- und POST-Methoden verwenden, um Rückgabewerte zu erhalten
P粉738821035
2023-09-05 08:42:27
<p>Ich habe ein einfaches Formular zum Abrufen von Benutzernamen und möchte Folgendes erreichen: </p>
<ul>
<li>Wenn der Benutzer auf die Schaltfläche klickt, wird die Schaltfläche deaktiviert, um mehrere Klicks zu verhindern (in realen Fällen kann es einige Sekunden dauern, bis alle Daten verarbeitet sind, z. B. das Aufrufen der API, das Schreiben in die Datenbank usw.); </li>
<li>Nach dem Klicken muss eine neue POST-Anfrage erfolgen, um $_POST['username'] in PHP zu erfassen und die Anfrage weiter zu verarbeiten. </li>
</ul>
<p>Wie erreicht man dieses Ziel? </p>
<p>Der Code lautet wie folgt, funktioniert jedoch nicht wie erwartet: </p>
<pre class="brush:php;toolbar:false;"><?php
session_start();
// Verarbeiten Sie die Formulardaten, wenn das Formular gesendet wird
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if(isset($_POST['submit-button'])) {
$uname=$_POST['Benutzername'];
header('Standort: success.php');
}
}
?>
<!DOCTYPE html>
<html>
<Kopf>
<title>Mein Formular</title>
</head>
<Körper>
<form id="your_form_id" action="test4.php"
<p><label>Benutzername</label>
<input id="username" name="username"
<input type="submit" id="submit-button" name="submit"
</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("Senden-Schaltfläche").disabled = true;
document.getElementById("submit-button").value="Verarbeitung, bitte warten...";
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: