我正在努力建立一个链接到google.no(挪威)的搜索栏。当您搜索音乐时,您会收到以下网址:https://www.google.no/#q=music& *。我的问题是如何在搜索结束时获得(& *)。
.search {
border: solid 1px grey;
border-radius: 3px;
padding: 10px;
padding-left: 30px;
padding-right: 30px;
font-size: 15px;
margin: 15px;
}

<form class="form" action="http://www.google.no/#q=">
<input class="search" name="q" placeholder="Search...">
</form>
&#13;
答案 0 :(得分:0)
您无法提交到此Google页面,因为其中包含锚#
。这意味着,如果您只是将表单提交到此URL,则它不具有常规的GET格式。您必须在JavaScript或后端计算正确的URL。
如果要使用JavaScript创建正确的URL,可以使用函数encodeURIComponent(url)
来转义参数。
以下是一个例子:
var searchBox = document.querySelector('.search');
var form = document.querySelector('.form');
form.addEventListener('submit', function(event) {
var value = searchBox.value;
var escapedValue = window.encodeURIComponent(value);
var url = "https://www.google.no/#q=" + escapedValue
alert(url);
window.location.href = url;
event.preventDefault();
});
<form class="form" action="test">
<input class="search" name="q" placeholder="Search...">
<input type="submit" class="submit" value="Submit">
</form>