单选按钮不提交值

时间:2015-07-02 10:31:49

标签: html forms radio-button

这似乎(也应该)很简单,但我不知道为什么单选按钮的值显示为空

<!DOCTYPE html>
<html>
<body>

<form method="post" action="action_page.php">

<table>
<tr>
<th>Intermediate</th><th>Advanced</th><th>No selection</th>
</tr>

<tr>
            <td colspan="3">
                <label for="td1">1. Bash</label>
            </td>
        </tr>
    <tr>
        <td>
            <input type="radio" name="td1" id="td1" value="BashInter"/>
        </td>
        <td><input type="radio" name="td1"  value="BashAdv"/>
        </td>
        <td><input type="radio"  name="td1" value="" /></td>
    </tr><tr>
            <td colspan="3">
                <label for="td1">2. C</label>
            </td>
        </tr>
    <tr>
        <td>
            <input type="radio" name="td2" id="td2" value="CInter"/>
        </td>
        <td><input type="radio" name="td2"  value="CAdv"/>
        </td>
        <td><input type="radio"  name="td2" value="" /></td>
    </tr><tr>
            <td colspan="3">
                <label for="td1">3. C++</label>
            </td>
        </tr>
    <tr>
        <td>
            <input type="radio" name="td3" id="td3" value="C++Inter"/>
        </td>
        <td><input type="radio" name="td3"  value="C++Adv"/>
        </td>
        <td><input type="radio"  name="td3" value="" /></td>
    </tr></table>


<input type="submit" value="Submit">
</form> 

<p>If you click "Submit", the form-data will be sent to a page called "action_page.php".</p>

</body>
</html>

如果在W3Schools&#39; (呃)server,它正确输出输入。 例如

  

TD1 = BashInter&安培; TD2 = CAdv&安培; TD3 =

但是,print_r($_POST);的服务器返回

  

[td1] =&gt; [td2] =&gt; [td3] =&gt;

无论选择什么。

查看HTTP标头确认没有发送任何内容。

表单的所有其他方面都正确发送了它们的值。

radio values

我已尝试过与这些值相关的多种变体,但没有任何改变这样的事实,即单选按钮实际上似乎没有发送任何数据。

2 个答案:

答案 0 :(得分:0)

您没有指定您的表单必须作为POST发送,因此使用的方法默认为GET。

尝试

<form action="action_page.php" method="POST">

答案 1 :(得分:0)

每组的最后一个单选按钮都保持为空并且具有黑色值。

这意味着<input type="radio" name="td3" value="" />需要替换为<input type="radio" name="td3" value="Some value 3" />

因此,如果您从每一组中选择最后一个单选按钮,那么显然它不会返回任何内容。

除此之外,只要您的HTML代码存在其他问题。如果您仍然遇到任何问题,请上传您的PHP代码。

我还建议给每个收音机贴一些有意义的标签。

以下是您可以尝试的代码

<!DOCTYPE html>
<html>
<body>

<form method="POST" action="action_page.php">

<table>
<tr>
<th>Intermediate</th><th>Advanced</th><th>No selection</th>
</tr>

<tr>
            <td colspan="3">
                <label for="td1">1. Bash</label>
            </td>
        </tr>
    <tr>
        <td>
            <input type="radio" name="td1" id="td1" value="BashInter"/> BashInter
        </td>
        <td><input type="radio" name="td1"  value="BashAdv"/> BashAdv
        </td>
        <td><input type="radio"  name="td1" value="Some value 1" /> Some value 1</td>
    </tr><tr>
            <td colspan="3">
                <label for="td1">2. C</label>
            </td>
        </tr>
    <tr>
        <td>
            <input type="radio" name="td2" id="td2" value="CInter"/> CInter
        </td>
        <td><input type="radio" name="td2"  value="CAdv"/> CAdv
        </td>
        <td><input type="radio"  name="td2" value="Some value 2" /> Some value 2</td>
    </tr><tr>
            <td colspan="3">
                <label for="td1">3. C++</label>
            </td>
        </tr>
    <tr>
        <td>
            <input type="radio" name="td3" id="td3" value="C++Inter"/> C++Inter
        </td>
        <td><input type="radio" name="td3"  value="C++Adv"/> C++Adv
        </td>
        <td><input type="radio"  name="td3" value="Some value 3" /> Some value 3</td>
    </tr></table>


<input type="submit" value="Submit">
</form> 

<p>If you click "Submit", the form-data will be sent to a page called "action_page.php".</p>

</body>
</html>