表单数据和Button在同一个_POST中

时间:2012-07-12 12:51:22

标签: php javascript html

晚间!

我有一个问题,想弄清楚如何让特定的代码段工作,我有这个:

   <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";
}

显然这不是怎么做的。我很好奇,我可以让我的搜索栏提交复选框中也包含的帖子数据。

(这是一个搜索栏,复选框是高级搜索选项,所以我自然只想要一个搜索按钮)。

谢谢!

2 个答案:

答案 0 :(得分:4)

  1. 提供输入名称(没有它们,它们不能成功控制)
  2. 将它们放在表单中(否则它们仅对客户端脚本有用)
  3. 让表单发出POST请求(默认为GET)。
  4. 使用提交按钮以便提交表单(常规按钮仅用于客户端脚本)
  5. 包含标签(向用户通知控件的用途并提供更大的点击目标(后者对复选框和单选按钮尤其重要)也是有益的。)

    这样:

    <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>
    

答案 1 :(得分: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>