2015-07-02 193 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>