表单提交时显示单选按钮选择的名称

Posted

技术标签:

【中文标题】表单提交时显示单选按钮选择的名称【英文标题】:Display name of radio button selection upon form submit 【发布时间】:2019-09-21 11:50:30 【问题描述】:

我有一个带有多个字段的 html 表单,其中一个是单选按钮。当我将表单提交到 php 页面时,我想显示每个字段的内容和单选按钮选择的名称。但是,单选按钮不显示名称属性,而是在选择时回显“on”,在不显示时什么也不显示,我该怎么做才能显示选择的名称?

这是html页面

<html>
<body>

    <form action="confirmdata.php" method="post">
        Name <input type="text" name="name"><br><br>
        Gender <input type="radio" name="gender" value="Male">Male<input type="radio" name="gender" value="Female">Female<br><br>
        Email <input type="text" name="email"><br><br>
        Inform email <input type="checkbox" name="inform"><br><br>
        <input type="submit">
    </form>
</body>
</html>

这是php页面

<html>
<body>

    <?php
    foreach($_POST as $data)
        echo $data; ?>
        <br>
        <?php 
    
    ?>
    <a href="registrationform.html">Return to registration form</a>
</body>
</html>

【问题讨论】:

你能显示收音机的html代码吗? 【参考方案1】:

我猜,也许这可以帮助你弄清楚:

$html = '';
foreach ($_POST as $data) 
    $html .= '<input type="radio" name="gender" value="' . $data . '"> ' . $data . '<br>';

echo $html;

您的表单值似乎在$data 中。当您遍历它时,它会将值填充回您拥有的输入单选元素中。您可能还需要添加键来命名属性:

$html = '';
foreach ($_POST as $key => $data) 
    $html .= '<input type="radio" name="' . $key . '" value="' . $data . '"> ' . $data . '<br>';

echo $html;

【讨论】:

现在它工作正常(根据选择正确显示男性/女性)我不知道如何,但它工作正常,感谢您的努力【参考方案2】:

我认为您希望在提交表单后显示选定的值。所以$_POST['gender'] 持有值“男性”或“女性”,因此在提交表单后添加条件以检查$gender 是男性还是女性,然后在单选按钮标签内使用checked 属性。

请按照以下简单步骤操作。

$gender = $_POST['gender'];
if ($gender == 'Male') 
?> 
<input type="radio" name="gender" value="Male" checked>Male
<?php

else 
    ?> <input type="radio" name="gender" value="Female" checked>Female<br><br>
    <?php

【讨论】:

以上是关于表单提交时显示单选按钮选择的名称的主要内容,如果未能解决你的问题,请参考以下文章

仅从选定的单选按钮选项提交表单数据

如果选中单选按钮,则停止表单提交

Rails 5 simple_form 将单选按钮标记为必需,如果未填写则阻止提交表单

Mat单选按钮值在表单提交后没有改变

即使未单击单选按钮,仍会提交表单[重复]

仅在SELECT字段不为空时显示“提交”按钮