多种搜索表单,带有搜索选项

时间:2016-06-23 18:44:39

标签: javascript html forms

我正在使用此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> &nbsp;
<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;
}
// ]]>

1 个答案:

答案 0 :(得分:0)

如前所述,它根本不知道要搜索哪个表单元素。

除了事实之外,这段代码可能需要一些重构 - 如果你想要的只是一个快速而简单的解决方案,只需将表单转发为onsubmit="return dosearch(currentForm)"中的参数,然后使用if来仅搜索给定的表单。像这样:

Local