我正在使用此nice old script来搜索2个网站位置,直到我将搜索表单放在同一个HTML网页上的多个位置,它才能正常运行。拥有此表单的多个展示位置会取消所有内容。
目标是能够在同一个HTML页面上的3-4个地方使用此搜索表单。
HTML表格
<form name="searchform" class="top-search-bar-multiple" role="search" onsubmit="return dosearch();">
<input type="text" name="searchterms" placeholder="Search our products" />
<button type="submit" name="SearchSubmit" class="search-bar--submit icon-fallback-text">
<span class="icon icon-search" aria-hidden="true"></span>
<span class="fallback-text">search</span>
</button>
<input name="sengines" type="radio" value="http://stackoverflow.com/search?q=" checked/> <small>query 1</small>
<input name="sengines" type="radio" value="http://stackoverflow.com/search?q=" /> <small>query 2</small>
JAVASCRIPT
// <![CDATA[
function dosearch() {
var sf=document.searchform;
for (i=sf.sengines.length-1; i > -1; i--) {
if (sf.sengines[i].checked) {
var submitto = sf.sengines[i].value + escape(sf.searchterms.value);
}
}
window.location.href = submitto;
return false;
}
// ]]>
答案 0 :(得分:0)
如前所述,它根本不知道要搜索哪个表单元素。
除了事实之外,这段代码可能需要一些重构 - 如果你想要的只是一个快速而简单的解决方案,只需将表单转发为onsubmit="return dosearch(currentForm)"
中的参数,然后使用if来仅搜索给定的表单。像这样: