我正在尝试创建一个自定义搜索框,并想知道如何根据不同的输入检查多个条件。有 2 个输入。
- 一个普通的搜索代码(搜索我们提供的输入)
- 类别下拉菜单(根据类别名称进行搜索)
我想对每种以下情况进行不同的条件检查-
搜索按钮必须能够选择搜索字符串或从下拉菜单中选择的类别,然后提供搜索结果。
如果两者都提供(意味着有人在搜索框中键入名称并选择类别) - 框中的搜索关键字必须优先,并且结果应显示该字符串(而不是类别页面)
如果选择了类别但在搜索框中没有输入任何内容;然后必须显示相应的类别页面。
好的,希望能解释我想要做什么。所以这是我到目前为止的代码:
<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']
}
} ?>