0

我正在尝试创建一个自定义搜索框,并想知道如何根据不同的输入检查多个条件。有 2 个输入。

  1. 一个普通的搜索代码(搜索我们提供的输入)
  2. 类别下拉菜单(根据类别名称进行搜索)

我想对每种以下情况进行不同的条件检查-

  1. 搜索按钮必须能够选择搜索字符串或从下拉菜单中选择的类别,然后提供搜索结果。

  2. 如果两者都提供(意味着有人在搜索框中键入名称并选择类别) - 框中的搜索关键字必须优先,并且结果应显示该字符串(而不是类别页面)

  3. 如果选择了类别但在搜索框中没有输入任何内容;然后必须显示相应的类别页面。

好的,希望能解释我想要做什么。所以这是我到目前为止的代码:

<form role="search" method="get" id="searchform" action="http://www.sitename.com/">
<label class="screen-reader-text" for="s">
</label>
<input type="text" value="" name="s" id="s" align="right" />
<label for="category">Select Your Category</label>
<input class="selectcategorydropdown" type="hidden" id="category" />
<select name="s" id="category" onchange="getSelectedValue();">
    <option value="">none</option>
    <option value="cat1">category1</option>
    <option value="cat2">category2</option>
    <option value="cat3">category3</option>
    <option value="cat4">category4</option>
</select>
<input type="submit" id="searchsubmit" value="Search" align="right" />
</form>

<script type="text/javascript">
    function getSelectedValue() {
        var index = document.getElementById('category').selectedIndex;
        ("value=" + document.getElementById('category').value);
        ("text=" + document.getElementById('category').options[index].text);
    }  
</script>

最后一部分是有助于传递使用下拉菜单选择的类别值的 javascript 代码。

下面的代码会起作用吗?

<?php
              if (!empty($_POST['search'])) { //if there is something in search_text
     if (empty($_POST['searchform']))  {
          //search by text
       } else {
          //combined text and category search
        }
} else  { //if there is nothing in search_text
       if (!empty($_POST['category']))  {
          // search by category
         }  else  {
          // error - no data in either $_POST['search'] or $_POST['category']
         }
} ?>
4

0 回答 0