1、HTML <iframe> 标签:
定义和用法
iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。
对于在iframe标签中定义的js函数,如果在这个函数中,想访问包含iframe标签的页面上的名为killUpdate(xx)的js函数,则需要使用 window.parent.killUpdate('');语句来调用。
例子:
<html>
<body>
<iframe src="/i/eg_landscape.jpg"></iframe>
<p>一些老的浏览器不支持 iframe。</p>
<p>如果得不到支持,iframe 是不可见的。</p>
</body>
</html>
2 、HTML <form> 标签的 target 属性
定义和用法
target 属性规定在何处打开 action URL。
语法
<form target="value">
属性值
值 描述
_blank 在新窗口中打开。
_self 默认。在相同的框架中打开。
_parent 在父框架集中打开。
_top 在整个窗口中打开。
framename 在指定的框架中打开。这儿可以使用iframe来定义框架名。
例子:在当前页面不刷新的情况下,使用iframe来上传文件(其实变化都是在iframe完成的)。
<script type="text/javascript">
function uploadPlanImg(){
if($('orginalPlanImg').value != ""){
startStatusCheck();
return true; //提交form,在iframe中执行。
}
return false;
}
//上传完毕后,取消周期性获取进度状态,将最终的状态显示在客户端
function killUpdate(message)
{
alert("wangle");
$('submitButton').disabled = false;
if(null!=updater)
{
//停止刷新获取进度
updater.stop();
}
if(message != '')//如果有错误信息,则显示出来
{
$('status').innerHTML = '<div class="error"><b>Error processing results: ' + message + '</b></div>';
}
else//如果没有错误信息
{
//获取上传文件的完成状态,显示到客户端
new Ajax.Updater('status',
'/meeting/fileupload',
{asynchronous:true, method: 'get', parameters: 'c=status', onFailure: reportError});
}
</script>
<iframe id='target_upload' name='target_upload' src=''></iframe>
<form enctype="multipart/form-data" name="fileform" method="post" action="/meeting/fileupload"
οnsubmit="return uploadPlanImg();" target="target_upload">
<input type="file" name="meetingRoomVO.planImg" id="orginalPlanImg" size="19" />
<input id="submitButton" type="submit" value="点击上传" />
<div id="files"><div>
</form>
以上的form会提交给一个Servlet,在Servlet的返回值中,想调用当前页面的killUpdate方法。以下是Servlet一部分语句:
private void sendCompleteResponse(HttpServletResponse response,
String message) throws IOException {
if (message == null) {
response
.getOutputStream()
.print(
"<html><head><script type='text/javascript'>function killUpdate() { window.parent.killUpdate(''); }</script></head><body οnlοad='killUpdate()'>abc</body></html>");
} else {
response
.getOutputStream()
.print(
"<html><head><script type='text/javascript'>function killUpdate() { window.parent.killUpdate('"
+ message
+ "'); }</script></head><body οnlοad='killUpdate()'></body></html>");
}
}
定义和用法
iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。
对于在iframe标签中定义的js函数,如果在这个函数中,想访问包含iframe标签的页面上的名为killUpdate(xx)的js函数,则需要使用 window.parent.killUpdate('');语句来调用。
例子:
<html>
<body>
<iframe src="/i/eg_landscape.jpg"></iframe>
<p>一些老的浏览器不支持 iframe。</p>
<p>如果得不到支持,iframe 是不可见的。</p>
</body>
</html>
2 、HTML <form> 标签的 target 属性
定义和用法
target 属性规定在何处打开 action URL。
语法
<form target="value">
属性值
值 描述
_blank 在新窗口中打开。
_self 默认。在相同的框架中打开。
_parent 在父框架集中打开。
_top 在整个窗口中打开。
framename 在指定的框架中打开。这儿可以使用iframe来定义框架名。
例子:在当前页面不刷新的情况下,使用iframe来上传文件(其实变化都是在iframe完成的)。
<script type="text/javascript">
function uploadPlanImg(){
if($('orginalPlanImg').value != ""){
startStatusCheck();
return true; //提交form,在iframe中执行。
}
return false;
}
//上传完毕后,取消周期性获取进度状态,将最终的状态显示在客户端
function killUpdate(message)
{
alert("wangle");
$('submitButton').disabled = false;
if(null!=updater)
{
//停止刷新获取进度
updater.stop();
}
if(message != '')//如果有错误信息,则显示出来
{
$('status').innerHTML = '<div class="error"><b>Error processing results: ' + message + '</b></div>';
}
else//如果没有错误信息
{
//获取上传文件的完成状态,显示到客户端
new Ajax.Updater('status',
'/meeting/fileupload',
{asynchronous:true, method: 'get', parameters: 'c=status', onFailure: reportError});
}
</script>
<iframe id='target_upload' name='target_upload' src=''></iframe>
<form enctype="multipart/form-data" name="fileform" method="post" action="/meeting/fileupload"
οnsubmit="return uploadPlanImg();" target="target_upload">
<input type="file" name="meetingRoomVO.planImg" id="orginalPlanImg" size="19" />
<input id="submitButton" type="submit" value="点击上传" />
<div id="files"><div>
</form>
以上的form会提交给一个Servlet,在Servlet的返回值中,想调用当前页面的killUpdate方法。以下是Servlet一部分语句:
private void sendCompleteResponse(HttpServletResponse response,
String message) throws IOException {
if (message == null) {
response
.getOutputStream()
.print(
"<html><head><script type='text/javascript'>function killUpdate() { window.parent.killUpdate(''); }</script></head><body οnlοad='killUpdate()'>abc</body></html>");
} else {
response
.getOutputStream()
.print(
"<html><head><script type='text/javascript'>function killUpdate() { window.parent.killUpdate('"
+ message
+ "'); }</script></head><body οnlοad='killUpdate()'></body></html>");
}
}