suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So rufen Sie mit PHP Eingabe-Tags ab, die dem numerischen Eingabetyp aus einem HTML-Formular entsprechen

Ich habe ein Formular, das Eingabefelder vom Typ Nummer enthält, jedes Eingabefeld hat eine entsprechende Beschriftung. Ich möchte nach dem Absenden des Formulars eine „Überprüfungsseite“ hinzufügen, auf der Sie Ihre Antworten auf jedes Eingabefeld sehen können (obwohl Sie nicht alle ausfüllen müssen), genau wie Sie die Tags sortieren. Wenn ich beispielsweise 4 in das Eingabefeld mit der Bezeichnung „Mark Twain“ schreibe, möchte ich „Auswahl 4: Mark Twain“ anzeigen. Ich kann das Format nicht in <select> ändern, wo im Formular jedes Eingabefeld eine eindeutige Beschriftung hat.

Ich habe jedes Eingabefeld in HTML auf Folgendes eingestellt:

<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>

Ich habe den folgenden Code in PHP ausprobiert:

if (isset($_POST["num_a"]))
 {$a= "Mark Twain";
echo "Choice ", $_POST["num_a"], ":", $a, "<br>";}

Diese Methode funktioniert gut, wenn num_a tatsächlich eingegeben wird. Auch wenn num_a nicht ausgefüllt ist, erscheint es immer auf der Bewertungsseite und sieht also so aus:

„Wahl: Mark Twain“

Was kann ich tun, um das Eingabefeld nur anzuzeigen, wenn es einen Wert hat? Damit nur das Eingabefeld erscheint, in dem Zahlen eingegeben werden?

P粉563446579P粉563446579470 Tage vor716

Antworte allen(1)Ich werde antworten

  • P粉413704245

    P粉4137042452023-09-15 11:25:11

    如果输入为空,则不打印输入。

    if (isset($_POST['num_a']) && $_POST['num_a'] != '') {
        $a= "Mark Twain";
        echo "Choice ", $_POST["num_a"], ":", $a, "<br>";
    }

    由于0不是有效的输入值,您可以简化为:

    if (!empty($_POST['num_a'])) {
        $a= "Mark Twain";
        echo "Choice ", $_POST["num_a"], ":", $a, "<br>";
    }

    Antwort
    0
  • StornierenAntwort