使用输入在 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 在 DOMContentLoaded
或 window.onload
处理程序。)
我在这个问题上卡住了几天,我不知道该怎么做。我想直接从我自己的网站导航到另一个页面,只需在输入中输入页面名称(不带“.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 在 DOMContentLoaded
或 window.onload
处理程序。)