用户登录
用户注册

分享至

ajax效果模拟——隐藏的iframe无刷新效果

  • 作者: 萌萌萌小可爱
  • 来源: 51数据库
  • 2021-07-03

在ajax流行之前如何实现无刷新提交表单呢?其实用隐藏的iframe完全可以实现该功能,看一个测试的小例子。

ryadd.
 

<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>
 

软件
前端设计
程序设计
Java相关