Maison > Questions et réponses > le corps du texte
J'ai un formulaire qui contient des zones de saisie de type numéro, chaque zone de saisie a une étiquette correspondante. J'aimerais ajouter une "page de révision" après avoir soumis le formulaire où vous pouvez voir vos réponses à chaque zone de saisie (même si vous n'avez pas besoin de toutes les remplir), tout comme vous triez les balises. Par exemple, si j'écris 4 dans la zone de saisie intitulée « Mark Twain », je souhaite afficher « Choix 4 : Mark Twain ». Je ne peux pas changer le format en <select>
, où dans le formulaire chaque zone de saisie a une étiquette unique.
J'ai défini chaque zone de saisie en HTML sur :
<label><input type="number" name="num_a" min="1" max="14" autocomplete="off" oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this. Value = this.value.replace(/(\..*)\./g, ''); this.setCustomValidity('')" oninvalid="this.setCustomValidity('Please enter a number between 1 and 14')" class="unique"> <span>Mark Twain</span></label>
J'ai essayé le code suivant en PHP :
if (isset($_POST["num_a"])) {$a= "Mark Twain"; echo "Choice ", $_POST["num_a"], ":", $a, "<br>";}
Cette méthode fonctionne bien lorsque num_a est réellement saisi. Cependant, même si num_a n'est pas renseigné, il apparaît toujours sur la page d'avis, il ressemble donc à ceci :
"Choix : Mark Twain"
Que puis-je faire pour afficher la zone de saisie uniquement lorsqu'elle a une valeur ? Pour que seule la zone de saisie dans laquelle les nombres sont saisis apparaisse ?
P粉4137042452023-09-15 11:25:11
Si l'entrée est vide, l'entrée n'est pas imprimée.
if (isset($_POST['num_a']) && $_POST['num_a'] != '') { $a= "Mark Twain"; echo "Choice ", $_POST["num_a"], ":", $a, "<br>"; }
Puisque 0
n'est pas une valeur d'entrée valide, vous pouvez simplifier comme suit :
if (!empty($_POST['num_a'])) { $a= "Mark Twain"; echo "Choice ", $_POST["num_a"], ":", $a, "<br>"; }