首页  >  问答  >  正文

使用PHP从HTML表单中检索与数字输入类型对应的输入标签的方法

我有一个表单,其中包含类型为number的输入框,每个输入框都有一个相应的标签。我想在提交表单后添加一个“审核页面”,在这个页面上可以看到你对每个输入框的答案(尽管你不需要填写所有的输入框),就像你在给标签排序一样。例如,如果我在标签为“Mark Twain”的输入框中写入了4,我想显示“Choice 4: Mark Twain”。我不能将格式更改为<select>,在表单中,每个输入框都有一个唯一的标签。

我在HTML中将每个输入框设置为:

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

我在PHP中尝试了以下代码:

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

这个方法在num_a实际输入时效果很好。然而,即使num_a没有填写,它也总是出现在审核页面上,所以看起来像这样:

“选择:马克·吐温”

我该如何做才能只在输入框有值时显示它?这样只有输入了数字的输入框才会出现?

P粉563446579P粉563446579374 天前648

全部回复(1)我来回复

  • 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>";
    }

    回复
    0
  • 取消回复