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