2015-07-02 157 views
0

这似乎是(应该是)简单,但我不知道为什么我的单选按钮值显示为空单选按钮提交没有值

<!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的运行(啊)server,它正确输出输入。 例如

TD1 = BashInter & TD2 = CAdv & TD3 =

然而,我的服务器,用于print_r($_POST);返回

[TD1] => [TD2] => [TD3] = >

不管选择什么。

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

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

radio values

我已经尝试了一些有关的值变型,但没有改变了,实际上没有出现数据由单选按钮发送的事实。

+0

@billyonecan这不是真正的形式(这是一个几千行代码)的代码。我使用的是真正的POST。 – Stumbler

+0

向样本代码添加了发布方法。请注意,单选按钮以外的其他东西都正确发送数据。 – Stumbler

+0

所以无线电发布,但它们的值是空字符串?你确定你没有任何选择每组中最后一个选项的东西吗? – billyonecan

回答

0

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

尝试每一套

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

道歉:更新的问题 – Stumbler

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>