![](/img/trans.png)
[英]How to Submit a form and load target page inside a Div on the Current page?
[英]How to load (replace) an external page by the current (no inside a div)?
我正在用 jsp 构建我的第一个 Web 应用程序,我认为设计可能会更好,但是,它可以工作。 我想要的是加载一个外部页面,但没有将其包装在 div 元素中。 让我解释一下:
我的主页,它有两个空的 div,它们的内容都是由 load Jquery 函数加载的。
wsIndex.jsp
<html>
<script>
$(document).ready(function() {
$('#divWSInputForm').load('wsInputForm.jsp');
$('#divWSInputDataTable').load('wsInputDataTable.jsp');
})
</script>
<div id="divWSInputForm"></div>
<div id="divWSInputDataTable"></div>
</html>
以下是第一个div(divWSInputForm)的内容。 它有一个带有一个输入字段和一个按钮的表单。 它还有一个用于按钮的 Ajax Jquery 事件。
wsInputForm.jsp
<html>
<script>
$(document).ready(function() {
$('#sbmsave').click(function(event){
$.post(
'wsSave.jsp',
{itxtcode:$('#itxtcode').val()},
function(responseText){
$('#divWSInputDataTable').html(responseText);
...
}
);
} );
})
</script>
<form id="rendered-form" method="post" >
<input name="itxtcode" id="itxtcode" type="text">
.. other inputs ..
<button name="sbmsave" id="sbmsave" type="button" >Save</button>
</form>
</html>
以下是第二个div(divWSInputDataTable)的内容。 在内部,我从 Oracle 数据库请求并检索一些数据,然后我用这些数据构建一个表。
wsInputDataTable.jsp
<html>
<%
// Connect to Oracle and retrieve data into a rs (ResultSet)
%>
<table id="workshops" cellspacing="0">
<thead>
<th>Code</th>
...
</thead>
<tbody>
<%
while (rs.next()) {
%>
<tr>
<td><%= rs.getString(1) %></td>
...
</tr>
<%}%>
</tbody>
</table>
</html>
这是从 wsInputForm.jsp (sbmsave) 通过 Ajax post 调用的 jsp 页面。
wsSave.jsp
<%
DataSource ds = new DataSource();
Connection conn = ds.connect();
CallableStatement cstmt = conn.prepareCall("{? = call Pkg_WorkShop.f_insertWorkShop(?)}");
cstmt.registerOutParameter(1, Types.INTEGER);
cstmt.setString(2, request.getParameter("itxtcode").toString());
cstmt.execute();
%>
<html >
<script>
$(document).ready(function() {
$('#cont').load('wsInputDataTable.jsp');
})
</script>
<div id="cont"></div>
我不确定,但我想每次单击 sbmsave 按钮时,wsInputDataTable.jsp 的内容都会加载到 div (id="cont") 中。 所以,如果这是真的,在“X”点击后,我当前的页面将有“X”div的元素一个在另一个里面。 不是吗?。 这是我想解决的问题。
我想知道的是存在另一种加载外部页面内容的方法,但没有在 div 元素内部。 只需加载并替换当前页面的内容。
提前致谢。
我通过在 wsSave.jsp 上使用 jquery 加载并从主 jsp 检索 div 中的响应来计算出来。 (我不知道这些元素可以从外部jsp中加入)
<script>
$('#divWSInputDataTable').load('wsInputDataTable.jsp');
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.