ajax效果模拟——隐藏的iframe无刷新效果
2012-10-08 19:17
393 查看
在ajax流行之前如何实现无刷新提交表单呢?其实用隐藏的iframe完全可以实现该功能,看一个测试的小例子。
ryAdd.jsp
<style type="javascript/text">
// 全局方法
function reset(){
$("txtID").val("");
$("txtName").val("");
}
</script>
<form action="xy/ryAdd.action" target="frame">
<table>
<tr>
<td>编号</td>
<td><input type="text" name="txtID" id="txtID"></td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="txtName" id="txtName"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"></td>
</tr>
<tr>
<td><span id="hint"></span></td>
</tr>
</table>
</form>
<iframe name="frame" style="display:none"></iframe>
Action
public class ryAction
{
private String msg;
public String ryAdd()
{
try
{
...........
msg = "添加成功";
}
cathc(Exception ex)
{
msg = ex.getMessage();
}
return "result";
}
..........省略getter,setter方法..............
}
strust.xml
<action name="ryAdd" class="cn.xy.ryAction" method="ryAdd">
<result name="result">result.jsp</result>
</action>
result.jsp
<head>
<script type="text/javascript">
window.onload = function(){
// 本页面获得的提示信息
if(document.getElementById('subhint'))
{
var hint = document.getElementById('subhint').innerHTML;
// 找到父页面
if(window.parent){
if(window.parent.reset){
window.parent.reset();
}
if(window.parent.document.getElementById('hint')){
window.parent.document.getElementById('hint').innerHTML = hint;
}
}
}
};
</script>
</head>
<body>
<span id="subhint">${requestScope.msg}</span>
</body>
总结
过程就是将父页面表单的提交后的结果页面在子页面打开,这时子页面获得了页面的document的对象。子页面可以调用父页面的全局函数,并返回结果给父页面。现在有了ajax,完全可以替代这种方法。但是上传文件是不能使用ajax的,因为ajax传输的是说白了字符串,怎么可以传文件呢?本文的方法就派上用场了。
ryAdd.jsp
<style type="javascript/text">
// 全局方法
function reset(){
$("txtID").val("");
$("txtName").val("");
}
</script>
<form action="xy/ryAdd.action" target="frame">
<table>
<tr>
<td>编号</td>
<td><input type="text" name="txtID" id="txtID"></td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="txtName" id="txtName"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"></td>
</tr>
<tr>
<td><span id="hint"></span></td>
</tr>
</table>
</form>
<iframe name="frame" style="display:none"></iframe>
Action
public class ryAction
{
private String msg;
public String ryAdd()
{
try
{
...........
msg = "添加成功";
}
cathc(Exception ex)
{
msg = ex.getMessage();
}
return "result";
}
..........省略getter,setter方法..............
}
strust.xml
<action name="ryAdd" class="cn.xy.ryAction" method="ryAdd">
<result name="result">result.jsp</result>
</action>
result.jsp
<head>
<script type="text/javascript">
window.onload = function(){
// 本页面获得的提示信息
if(document.getElementById('subhint'))
{
var hint = document.getElementById('subhint').innerHTML;
// 找到父页面
if(window.parent){
if(window.parent.reset){
window.parent.reset();
}
if(window.parent.document.getElementById('hint')){
window.parent.document.getElementById('hint').innerHTML = hint;
}
}
}
};
</script>
</head>
<body>
<span id="subhint">${requestScope.msg}</span>
</body>
总结
过程就是将父页面表单的提交后的结果页面在子页面打开,这时子页面获得了页面的document的对象。子页面可以调用父页面的全局函数,并返回结果给父页面。现在有了ajax,完全可以替代这种方法。但是上传文件是不能使用ajax的,因为ajax传输的是说白了字符串,怎么可以传文件呢?本文的方法就派上用场了。
相关文章推荐
- ajax效果模拟——隐藏的iframe无刷新效果
- ajax效果模拟——隐藏的iframe无刷新效果 推荐
- 隐藏iframe实现无刷新的效果
- 【Servlet】在Servlet3.0中利用ajax达到iframe局部刷新效果,同时避免在Js写过多的HTML代码
- 页面无刷新ajax上传文件--模拟iframe,超简单
- 页面无刷新ajax上传文件--模拟iframe,超简单
- 使用隐藏的iframe 隐藏form提交,仿AJax无刷新提交,可以实现无刷新上传文件
- 页面无刷新ajax上传文件--模拟iframe,超简单
- ajax效果模拟――隐藏的iframe无刷新效果
- dhl:页面无刷新ajax上传文件--模拟iframe,超简单
- (转)使用隐藏的iframe 隐藏form提交,仿AJax无刷新提交,可以实现无刷新上传文件
- ajax--iframe模拟ajax文件上传效果
- JS 动态创建上传表单,通过iframe模拟Ajax 无刷新
- 使用隐藏的iframe 隐藏form提交,仿AJax无刷新提交,可以实现无刷新上传文件
- AJAX-----09iframe模拟ajax文件上传效果原理1
- AJAX-----10iframe模拟ajax文件上传效果原理2
- 利用隐藏iframe处理文件上传,本页不刷新,仿ajax
- AJAX-----11iframe模拟ajax文件上传效果原理3
- 隐藏iframe实现无刷新的效果
- 没有ajax以前的隐藏 iframe 技术