我有一个表单,其中包含类型为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粉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>"; }