2 回答
TA贡献2003条经验 获得超2个赞
由于第1页中的表单在第2页中不存在,因此请删除
let searchButton = document.getElementById("searchBtn");
let searchInput = document.getElementById("searchInput");
if (searchButton) {
searchButton.addEventListener('click', () => {
let searchTerm = searchInput.value;
if (searchTerm)
searchWeather(searchTerm);
});
}
而是放
ley searchTerm = new URLSearchParams(location.search).get('location');
searchWeather(searchTerm);
解释
提交第1页的表单后,它将像
page2.html?location=xxxx
xxxx的值在哪里<input name='location' ...
location.search 将 ?location=xxxx
URLSearchParams 使处理这些(特别是在您拥有多个)时比通过箍拆分/解码/跳转的旧方法更容易
TA贡献1799条经验 获得超8个赞
我们可以简单地提交表单并从page2.html上的url获取当前表单输入。
<form method="get" name="basicSearch" id = "basicSearch" action="page2.html">
<input name="location" type="text" class="BasicSearch" id="searchInput" placeholder="Location">
<button type= "submit" class="BasicSearch" id="searchBtn" placeholder="Search">Search</button>
</form>
并且在page2.html的负载(在您的ajax调用之前)上,我们可以通过以下操作从URL获取“ searchInput”(位置):
<script>
let params = (new URL(document.location)).searchParams;
var searchInput= params.get('location');
</script>
现在,我们可以将“ searchInput”参数用于您的api调用并获取结果。
添加回答
举报