通常对于无刷新提交表单,我们都是运用ajax实现的。前段时间跟着老大了解到另一种无刷新提交表单的方法,是利用iframe框架实现的。现在整理出来分享给大家。
第一种:
html页面
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <!DOCTYPE HTML><htmllang="en-US"><head>  <metacharset="utf-8">  <title>无刷新提交表单</title>  <styletype="text/css">    ul{ list-style-type:none;}  </style></head><body>  <iframename="formsubmit"style="display:none;">  </iframe>    <!-- 将form表单提交的窗口指向隐藏的ifrmae,并通过ifrmae提交数据。 -->    <ul>      <li>        <labelfor="uname">用户名:</label>        <inputtype="text"name="uname"id="uname"/>      </li>      <li>        <labelfor="pwd">密 码:</label>      </li>      <li>        <inputtype="submit"value="登录"/>      </li>    </ul>  </form></body></html> | 
PHP页面:form.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php //非空验证 if(empty($_POST['uname']) || empty($_POST['pwd'])) {  exit; }  //验证密码 if($_POST['uname'] != 'jack'|| $_POST['pwd'] != '123456') {  echo'<script type="text/javascript">alert("用户名或密码不正确!");</script>';  exit; } else{  echo'<script type="text/javascript">alert("登录成功!");</script>';  exit; } | 
第二种:
html页面
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <!DOCTYPE HTML><htmllang="en-US"><head>  <metacharset="utf-8">  <title>iframe提交表单</title></head><body>  <iframename="myiframe"style="display:none;"onload="iframeLoad(this);"></iframe>  <formaction="form.php"target="myiframe"method="POST">   用户名:<inputtype="text"name="username"/><br/>   密 码:<inputtype="password"name="userpwd"/><br/>      <inputtype="submit"value="登录"/>  </form>    <scripttype="text/javascript">   function iframeLoad(iframe){    var doc = iframe.contentWindow.document;    var html = doc.body.innerHTML;    if(html != ''){     //将获取到的json数据转为json对象     var obj = eval("("+html+")");     //判断返回的状态     if(obj.status < 1){      alert(obj.msg);     }else{      alert(obj.msg);      window.location.href="http://www.baidu.com";     }    }   }  </script></body></html> | 
PHP页面:form.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?php //设置时区 date_default_timezone_set('PRC'); /*  返回的提交消息  status:状态  msg:提示信息 */ $msg= array('status'=>0,'msg'=>'');  //获取提交过来的数据 $name= $_POST['username']; $pwd= $_POST['userpwd'];  //模拟登录验证 $user= array(); $user['name'] = 'jack'; $user['pwd'] = 'jack2014';  if($name!= $user['name']){  $msg['msg'] = '该用户未注册!';  $str= json_encode($msg);  echo$str;  exit; }elseif($pwd!= $user['pwd']){  $msg['msg'] = '输入的密码错误!';  $str= json_encode($msg);  echo$str;  exit; }  $msg['msg'] = '登录成功!'; $msg['status'] = 1; $str= json_encode($msg); echo$str; | 
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    




















请登录后发表评论
注册
社交帐号登录