2012-07-12 26 views
0

晚報!表單數據和巴頓在同一_POST

我有一個問題的點搞清楚如何得到一個特定的代碼段的工作,我有這樣的:

<form> 
     TestCheckBox 
     <input type="checkbox" name="TestCheckBox" value="Yes" /> 
    </form> 

    <div id="search"> 
     <input type="text" id="search_bar" /> 
     <input type="button" value="Search!" /> 
    </div> 

而且在一個PHP文件,我有這樣的:

if($_POST['TestCheckBox'] == 'Yes'){ 
echo "TEST"; 
} 
if (isset($_POST['action']) && !empty($_POST['action'])) { 
generateHTML($_POST['action']); 
} 
else { 
echo "NOTHING IS HERE"; 
} 

顯然,這不是如何做到這一點。我很好奇,因爲我可以讓我的搜索欄提交也包含在複選框中的發佈數據。

(它是一個搜索欄,複選框被高級搜索選項,所以很自然我只想要一個搜索按鈕)。

謝謝!

+0

在你的HTML,您要關閉的形式''您添加search_bar和搜索按鈕前。如果您希望表單也包含它們(在您的POST中),請將該標記移到兩個輸入標記下方。 – newfurniturey 2012-07-12 13:04:17

回答

4
  1. 給輸入名稱(不帶他們,他們能不能成功控制)
  2. 把它們在表單內(否則他們是唯一有用的客戶端腳本)
  3. 使窗體進行POST請求(它默認爲GET)。
  4. 使用這樣的形式將提交提交按鈕(常規按鈕僅適用於客戶端腳本)

這也有利於包括標籤(其告知用戶什麼樣的控制是和提供更大的點擊目標(後者對複選框和單選按鈕來說尤其重要))。

這樣的:

<form method="post"> 
    <label for="TestCheckBox">TestCheckBox</label> 
    <input type="checkbox" name="TestCheckBox" id="TestCheckBox" value="Yes" /> 
    <div id="search"> 
     <label for="search_bar">Query</label> 
     <input type="text" id="search_bar" name='action' /> 
     <input type="submit" value="Search!" /> 
    </div> 
</form> 
0

你必須包裹<form>所有<inputs>左右。

<form> 
    TestCheckBox 
    <input type="checkbox" name="TestCheckBox" value="Yes" /> 

    <div id="search"> 
     <input type="text" id="search_bar" /> 
     <input type="button" value="Search!" /> 
    </div> 
</form>