使用输入在 HTML 中搜索本地网页

Using an input to search a local webpage in HTML

我在这个问题上卡住了几天,我不知道该怎么做。我想直接从我自己的网站导航到另一个页面,只需在输入中输入页面名称(不带“.html”或“.php”。

示例:您在文本框中输入 "index",一旦您点击提交按钮,它会将您转到“http://www.website.com/index.html". Instead of doing that, it sends me to "http://www.website.com/?2016=index&.=html

我完全错了,因为它发送了输入名称和一些符号。

这是我的 HTML 代码:

    <form id="newsearch" method="get" action="http://www.website.com/">
    <p>Enter your confirmation number:</p>
    <input type="text" id="searchvalue" class="textbox1" name="2016" size="50" maxlength="120"><input type="submit" class="button1" value=">">
    <input type="hidden" id="hiddenvalue1" name="." value="html">
    </form>

您当前的代码只是提交一个表单,因此它非常正确地将输入的值添加为查询字符串的一部分 ?2016=index&.=html"

要导航到该位置,请向取消默认表单导航的表单添加一个提交处理程序,并将 window.location 设置为相关值,可能是这样的:

document.getElementById("newsearch").addEventListener("submit", function(e) {
  e.preventDefault();

  var searchText = document.getElementById("searchvalue").value;
  var extension = document.getElementById("hiddenvalue1").value;

  window.location = this.action + searchText + "." + extension;
  // or if you don't want to use the form's action attribute to specify
  // the domain you could hardcode it in the function:
  // window.location = "http://www.website.com/" + searchText + "." + extension;
});

(更新:上面的代码需要在 之后 表单元素的脚本元素中,and/or 在 DOMContentLoadedwindow.onload处理程序。)