如何显示来自搜索框或来自Checkbox的结果

时间:2013-04-12 16:46:26

标签: php javascript dojo

我们有一个搜索框,如下所示,用户可以输入一个值,例如1234 ABC street,点击搜索并显示结果。

<!--form1 -->

         <div id="inputBG">
       <form id="searchForm" class="search_field" method="get" action="">
            <input name="searchBox" id="searchBox" value="3440 Mark Drive" />
            <button type="button" onclick="searchMap()"><img src="Viewer/images/search.png" alt="Search" /></button>
          </form>
         </div>

这很有效。

但是,如果用户希望显示多种类型的结果,则用户单击名为“高级搜索”的图标。发生这种情况时,下面显示的复选框的表单会在新窗口中打开。

<!--Form2 --->
          <div id="featuresDiv">
            <form id="featuresForm">
               <br/>
                <input type="checkbox" name="srcoptions" onClick="checkAll(this.form,this)" checked>Check/Uncheck All<br>
               <label><input type="checkbox" name="featType" checked value="Addresses">Addresses</label><br/>
               <label><input type="checkbox" name="featType" checked value="Voter Precincts">Voter Precincts</label><br/>
               <label><input type="checkbox" name="featType" checked value="Voter Precincts (Pending)">Voter Precincts (Pending)</label><br/>
               <label><input type="checkbox" name="featType" checked value="Voting Polls">Voting Polls</label><br/>
               <label><input type="checkbox" name="featType" checked value="Voting Polls (Pending)">Voting Polls (Pending)</label><br/>
               <label><input type="checkbox" name="featType" checked value="Zip Codes">Zip Codes</label><br/>
               <label><input type="checkbox" name="featType" checked value="Zoning Petitions">Zoning Petitions</label><br/>
               <button type="button" onclick="searchMap()"><img src="MapViewer/images/magnifying_glass.png" alt="Search" /></button>
             </form>
            </div>

用户可以选择检查所有方框或只是几个方框。

当用户点击“搜索”时,应显示这些复选框的结果。

在使用复选框选项并且选中了多个框的情况下,搜索框在搜索中变得无关紧要。

我已经尝试了几件事,到目前为止似乎没有任何工作。

当我使用复选框选项并检查多个选项时,我收到“您的搜索未返回任何结果”的自定义消息

以下是我们尝试过的Javascript,它应该在搜索来自searchbox(form1)或checkbox(form2)时显示。

然后我们有php应该抓取所有搜索值(搜索框或复选框)到逗号分隔值。

这已经让我们疯狂了3天多了。

值得注意的是,搜索框的默认值为3440 Mark Street。

我真的很难过。

非常感谢任何帮助。

// Construct query
**$features = $_GET["featType"];**

$tsql = "SELECT *    FROM globes AS TBL
  WHERE KEY_TBL.RANK > 0
ORDER BY ListOrder, Name, TBL.RANK DESC";

1 个答案:

答案 0 :(得分:0)

有关doGlobalSearch中发生的事情以及如何在PHP中处理数据的更多信息将会有所帮助。我认为发送给PHP的数据格式化以及预期格式化的方式存在一些差异。在黑暗中完全刺伤,你试过featureList = features.join()吗?您确定需要引用个别值吗?

只是一个建议,但这是我将如何做到的:

  • 将两种形式合二为一。
  • 默认所有复选框,以便在隐藏高级搜索div时取消选中(或禁用它们)。
  • 显示高级搜索div时检查(或启用)它们。
  • 将[]添加到每个复选框名称的末尾,以便在提交表单时将(已选中)值作为数组传递给PHP。

这样PHP就会直接接收searchData和featTypes(如果有的话),你不必从PHP中的字符串中解析出featTypes。然后你需要用javascript做的就是提交表单并处理响应。同样,这不知道后端发生了什么,或者你对它有什么控制。