利用iframe实现表单的无刷新提交

来源:互联网 发布:最好用的crm软件 编辑:程序博客网 时间:2024/05/16 19:53
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <head>
  4.         <meta charset="utf-8" />
  5.         <title>利用iframe进行表单的无刷新提交</title>
  6.         <style type="text/css">
  7.             .f-hidden {
  8.                 display: none;
  9.             }
  10.         </style>
  11.     </head>
  12.     <body>
  13.         <iframe id="targetFrame" name="targetFrame" class="f-hidden"></iframe>
  14.         <form action="./api" method="post" target="targetFrame">
  15.             <p><label>请填写正确的内容:<input type="text" name="content"></label></p>
  16.             <button type="submit">提交内容</button>
  17.         </form>
  18.     </body>
  19.     <script type="text/javascript">
  20.         //获取iframe
  21.         var targetFrame = document.getElementById('targetFrame');
  22.         //注册onload事件
  23.         addEvent(targetFrame, 'load', function(event){
  24.             try{
  25.                 var result = JSON.parse(targetFrame.contentWindow.document.body.textContent);
  26.                 if(result.code === 200){
  27.                     //正确返回提交的结果
  28.                 }
  29.             }catch(e){
  30.                 //捕获错误
  31.             }
  32.         });
  33.  
  34.         //兼容IE注册事件
  35.         function addEvent(node, type, handler){
  36.              if (node.addEventListener){
  37.                   node.addEventListener(type, handler, false);
  38.              }else if(node.attachEvent){
  39.                   node.attachEvent('on' + type, handler);
  40.              }else{
  41.                   node['on' + type] = handler;
  42.              }
  43.         }
  44.     </script>
  45. </html>
0 0
原创粉丝点击