Le titre réécrit est : Utiliser des boutons PHP combinés avec les méthodes jQuery et POST pour obtenir des valeurs de retour
P粉738821035
2023-09-05 08:42:27
<p>J'ai un formulaire simple pour obtenir des noms d'utilisateur et je souhaite obtenir les résultats suivants : </p>
<ul>
<li>Lorsque l'utilisateur clique sur le bouton, le bouton sera désactivé pour empêcher plusieurs clics (dans des cas réels, le traitement de toutes les données peut prendre quelques secondes, comme l'appel de l'API, l'écriture dans la base de données, etc.) ; ≪/li>
<li>Après le clic, une nouvelle requête POST doit être effectuée afin de capturer $_POST['username'] en PHP et de poursuivre le traitement de la requête. ≪/li>
</ul>
<p>Comment atteindre cet objectif ? </p>
<p>Le code est le suivant, mais il ne fonctionne pas comme prévu : </p>
<pre class="brush:php;toolbar:false;"><?php
session_start();
// Traite les données du formulaire lorsque le formulaire est soumis
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if(isset($_POST['submit-button'])) {
$uname=$_POST['nom d'utilisateur'];
header('Emplacement : success.php');
}
}
?>
<!DOCTYPE html>
<html>
<tête>
<title>Mon formulaire</title>
≪/tête>
<corps>
<form id="votre_form_id" action="test4.php" méthode="post">
<p><label>Nom d'utilisateur</label>
<ID d'entrée="nom d'utilisateur" type="texte" nom="nom d'utilisateur" valeur="" autofocus/</p>
<type d'entrée="soumettre" id="bouton de soumission" nom="soumettre" valeur="Connexion" />
</formulaire>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="texte/javascript">
$("#submit-button").on("clic", function(e){
document.getElementById("submit-button").disabled = true;
document.getElementById("submit-button").value="Traitement en cours, veuillez patienter...";
document.getElementById("votre_form_id").submit();
});
</script>
</corps>
</html></pre></p>
Vous utilisez la bibliothèque JQuery, mais vous utilisez des commandes JavaScript natives pour gérer les boutons et soumettre(). Soit vous optez pour du Pure JS, soit pour du JQuery.
Le code ci-dessous utilise uniquement JQuery. De plus, j'ai remplacé soumettre par un bouton.
. Enfin, les boutons ne sont pas POSTés, donc si vous avez besoin de tester, faites-le sur le champ de saisie.
Ci-dessous un code avec les éléments que je viens de citer et qui devrait vous aider.
Pour y parvenir, les principes suivants peuvent être utilisés :
test-a.php:
test-b.php:
test-c.php: