您可以使用 ajax 从第二个 jsp 获取 html,然后附加到 DOM 或元素的 innerHTML。
主页.jsp
<span id=confirmSpan></span>
<script language="Javascript">
function xmlhttpPost(strURL, queryStr) {
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari, opera etc
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}else{
alert("no ajax")
return
}
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
updatepageConfirm(self.xmlHttpReq.responseText);
}
}
self.xmlHttpReq.send(queryStr);
}
function updatepageConfirm(str){
document.getElementById("confirmSpan").innerHTML = str;
}
function logout1(){
xmlhttpPost("confirm.html");//http://sel2in.com/pages/prog/html/ajax/confirm.html", "")
}
</script>
</head>
<body>
<form id="search" action="/search" method="get">
<input type=button onclick=logout1() value=logout>
</form >
带有确认代码的示例页面 -> 可以为 div 的任何有效 html
确认.jsp
执行操作...您确定吗?
//todo 在这里形成 span/popup/script/css 的 html -> 就像 iframe
看起来您想显示确认信息 - 一些 UI 询问您是否真的要注销?
最好的方法是创建一个 ID 为“logoutConfirmSpan”的空跨度,然后单击注销,执行 ajax(异步模式-> false,因此它内联发生)获取 html 标记并将其设置为跨度的 innerHTML
html 应该是有效的,这样它才能使 UI 出现并且表单真正注销。
请参阅Replace inner HTML of a div with Ajax 响应告诉您如何将 ajax 与 jQuery 一起使用
简单示例:
HTML 片段
<span id = 'logoutConfirmSpan'> </span>
<script>
// call ajax, with the response call setHtmlForConfirm
function setHtmlForConfirm(req)
{
document.getElementById('logoutConfirmSpan').innerHTML = req.responseText;
}
//req.responseText should have the html to show the confirm UI and form to submit yes/ no
</script>