因此,您可以在http://www.CyberBytesInc.com查看我的网站上的搜索,此时此工作正常。我想要做的是在搜索旁边有一个搜索参数下拉列表,一个是“搜索整个站点”,另一个是“搜索博客”。我正在使用谷歌自定义搜索,所以我只需搜索我的博客所有我需要的搜索词是“site:cyberbytesinc.com/blog/”又名,下拉列表的值。
这是HTML:
<div id="search" class="hidden">
<form method="get" action="/search" class="row no-p-mobile">
<select id="search-parameter" name="parameter">
<option value="">Search Entire Site</option>
<option value="site:cyberbytesinc.com/blog/">Search Blog</option>
</select>
<input id="search-field" name="q" type="search" placeholder="Enter to Search"/>
<span class="visible-desktop"><input class="red-btn" type="submit" value="Search ›"></span>
<!-- x-webkit-speech -->
</form>
</div>
如果他们把它留在默认的“搜索整个网站”上,那么我希望它能像现在这样做,所以我将值设置为空。但是如果他们选择“搜索博客”,那么我希望他们在旁边输入他们的搜索查询,并且在点击输入时,它只需要选择他们选择的选项的值并将其放入搜索词之前的URL中,所以它会来自:
.com/search?q=example
到
.com/search?q=site:cyberbytesinc.com/blog/%20example
我知道这必须非常简单,我只是对这一切都很新,并且花了一些时间试图自己解决这个问题,而我正处于可以使用快速帮助的地步!
非常感谢大家/女士们:(
编辑(我现在非常关闭,只需要一点帮助):
我尝试了很多东西,例如,将选项和文本字段命名为同名,例如“q”并且我在搜索博客时管理了网址:
.com/search?q=site%3Acyberbytesinc.com%2Fblog%2F+&q=example
因此,当在下拉列表中仅选择博客时,它实际上将正确的内容引入到URL中。问题是,谷歌自定义搜索再次只是识别最后一个
"q=example"
并忽略第一个
"q=site%3Acyberbytesinc.com%2Fblog%2F"
即使两者之间有一个+。
如果我可以以某种方式让这个术语继续进行而没有第二个“q =”那么它就会起作用,因为如果你只是进入并删除它所构成的URL结构中的第二个“q =”它会很有效
答案 0 :(得分:1)
你需要改变这个:
<div id="search" class="hidden-desktop">
<ul class="row no-p-mobile p-top-10 p-bottom-10">
<li>
<select id="search-parameter" name="parameter">
<option value="">Search Entire Site</option>
<option value="site:www.cyberbytesinc.com/blog/%20">Search Blog</option>
</select>
</li>
<li><form method="get" action="/search"><input id="search-field" type="search" name="q"/></form></li>
</ul>
</div>
到这个
<div id="search" class="hidden-desktop">
<ul class="row no-p-mobile p-top-10 p-bottom-10">
<li>
</li>
<li><form method="get" action="/search"><input id="search-field" type="search" name="q"/>
<select id="search-parameter" name="parameter">
<option value="">Search Entire Site</option>
<option value="site:www.cyberbytesinc.com/blog/%20">Search Blog</option>
</select>
</form></li>
</ul>
</div>
您需要确保select元素位于表单元素内部,以便它正确关联,因为该表单元素将定义发送到服务器的方式和内容。这将自动将选择的值放在URL查询字符串中,其余部分由您决定。