很多网站均提供一个文本框和一个按钮,以此让用户输入搜索关键字并提交请求。本实验以此为参考设置搜索主页,增加单选按钮可以让用户输入关键词后可以去不同的网站搜索。本实验分两部分进行:
以下是一个简单的示例代码,演示了如何实现这个功能:答案参考Chatgpt解答
HTML部分(index.html):
<!DOCTYPE html>
<html>
<head>
<title>搜索主页</title>
</head>
<body>
<h1>搜索主页</h1>
<form id="searchForm">
<input type="text" id="keyword" placeholder="请输入关键字">
<br><br>
<label>
<input type="radio" name="site" value="google"> Google
</label>
<br>
<label>
<input type="radio" name="site" value="baidu"> 百度
</label>
<br>
<label>
<input type="radio" name="site" value="bing"> Bing
</label>
<br><br>
<input type="submit" value="搜索">
</form>
<div id="result"></div>
<script src="script.js"></script>
</body>
</html>
JavaScript部分(script.js):
document.getElementById("searchForm").addEventListener("submit", function(event) {
event.preventDefault(); // 阻止表单提交的默认行为
var keyword = document.getElementById("keyword").value;
var site = document.querySelector("input[name='site']:checked").value;
search(keyword, site);
});
function search(keyword, site) {
var data = {
google: {
url: "https://www.google.com/search",
paramName: "q"
},
baidu: {
url: "https://www.baidu.com/s",
paramName: "wd"
},
bing: {
url: "https://www.bing.com/search",
paramName: "q"
}
};
var searchUrl = data[site].url;
var paramName = data[site].paramName;
var encodedKeyword = encodeURIComponent(keyword);
var searchQuery = searchUrl + "?" + paramName + "=" + encodedKeyword;
document.getElementById("result").innerHTML = "正在搜索,请稍候...";
window.location.href = searchQuery; // 在当前窗口打开搜索结果页面
}
在上述代码中,我们创建了一个表单,包含一个文本输入框和一组单选按钮,以及一个提交按钮。当用户点击提交按钮时,JavaScript代码会获取用户输入的关键字和选中的搜索网站,然后根据选择的搜索网站生成相应的搜索URL,并将用户重定向到搜索结果页面。
请注意,上述代码仅提供了一个简单的示例,您可以根据需要进行修改和扩展,以适应实际需求。