【发布时间】:2020-07-07 09:11:54
【问题描述】:
所以基本上我使用以下代码作为搜索包裹功能,它有 2 个按钮 addnew 和 search
两者都将获得在输入字段中输入的值target,并根据选择的按钮进行重定向
<div>
<i class="fas fa-search"></i>
<form id="forms" method="post" action="admin_tracking.jsp">
<input name="target" type="input" placeholder = "TrackingNo..." class = "text_search"/>
</form>
</div>
<script>
function submit(value)
{
console.log(value)
if (value == "add") {
//change action of form
document.getElementById('forms').action = 'admin_tracking.jsp?status='
document.getElementById('forms').submit(); //submit
} else {
document.getElementById('forms').action = 'admin_home_result.jsp'
document.getElementById('forms').submit();
}
}
</script>
<button class="button_search" value = "add" onclick="submit(this.value)">
Add New
</button>
<button class="button_search" value = "srch" onclick="submit(this.value)">
Search
</button>
重定向到搜索页面后,匹配trackingNo的包裹将被返回,用户可以选择更新包裹状态或删除包裹。
当用户选择更新包裹时,AdminCollectServlet将被调用如下:
href="AdminCollectServlet?target=<%=rs.getString("trackingNo")%>&from=${pageContext.request.requestURI}&query=${pageContext.request.queryString}"
执行数据库更新。一旦完成,我就使用了这条线
response.sendRedirect(request.getParameter("from") + "?" + request.getParameter("query"));
重定向回调用 servlet 的位置。
但是由于target是在表单中提交的,而不是作为url的参数,重定向页面将无法返回搜索结果。
我想知道有没有办法检索完整的表单内容并将其传递到response.sendredirect(),就像如何传递参数一样?
【问题讨论】:
标签: javascript java html jsp