php HTML无刷新提交表单


Posted in PHP onApril 05, 2016

通常对于无刷新提交表单,我们都是运用ajax实现的。前段时间跟着老大了解到另一种无刷新提交表单的方法,是利用iframe框架实现的。现在整理出来分享给大家。
第一种:
html页面

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="utf-8">
  <title>无刷新提交表单</title>
  <style type="text/css">
    ul{ list-style-type:none;}
  </style>
</head>
<body>
  <iframe name="formsubmit" style="display:none;">
  </iframe>
  
  <!-- 将form表单提交的窗口指向隐藏的ifrmae,并通过ifrmae提交数据。 -->
  <form action="form.php" method="POST" name="formphp" target="formsubmit">
    <ul>
      <li>
        <label for="uname">用户名:</label>
        <input type="text" name="uname" id="uname" />
      </li>
      <li>
        <label for="pwd">密 码:</label>
        <input type="password" name="pwd" id="pwd" />
      </li>
      <li>
        <input type="submit" value="登录" />
      </li>
    </ul>
  </form>
</body>
</html>

PHP页面:form.php

<?php
 //非空验证
 if(empty($_POST['uname']) || empty($_POST['pwd']))
 {
  echo '<script type="text/javascript">alert("用户名或密码为空!");</script>';
  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页面

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="utf-8">
  <title>iframe提交表单</title>
</head>
<body>
  <iframe name="myiframe" style="display:none;" onload="iframeLoad(this);"></iframe>
  <form action="form.php" target="myiframe" method="POST">
   用户名:<input type="text" name="username" /><br/>
   密 码:<input type="password" name="userpwd" /><br/>
   
   <input type="submit" value="登录" />
  </form>
  
  <script type="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

<?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;
 }else if($pwd != $user['pwd']){
  $msg['msg'] = '输入的密码错误!';
  $str = json_encode($msg);
  echo $str;
  exit;
 }
 
 $msg['msg'] = '登录成功!';
 $msg['status'] = 1;
 $str = json_encode($msg);
 echo $str;

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

PHP 相关文章推荐
php 截取字符串并以零补齐str_pad() 函数
May 07 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
Sep 13 PHP
简单的php缓存类分享     php缓存机制
Jan 22 PHP
php 伪静态之IIS篇
Jun 02 PHP
百度实时推送api接口应用示例
Oct 21 PHP
php绘制一个矩形的方法
Jan 24 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
Apr 26 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
PHP生成唯一ID之SnowFlake算法
Dec 17 PHP
php-app开发接口加密详解
Apr 18 PHP
如何在Laravel之外使用illuminate组件详解
Sep 20 PHP
PHP如何使用Memcached
Apr 05 #PHP
初识PHP中的Swoole
Apr 05 #PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 #PHP
PHP读取大文件的多种方法介绍
Apr 04 #PHP
PHP如何将XML转成数组
Apr 04 #PHP
php自动加载方式集合
Apr 04 #PHP
php文件上传的两种实现方法
Apr 04 #PHP
You might like
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
PHP has encountered an Access Violation
2007/01/15 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
一个简单的php路由类
2016/05/29 PHP
json 定义
2008/06/10 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
2016/11/25 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
JavaScript中为事件指定处理程序的五种方式分析
2018/07/27 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
Python下线程之间的共享和释放示例
2015/05/04 Python
详解python数据结构和算法
2019/04/18 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
高中毕业生生活的自我评价
2013/12/08 职场文书
房产销售经理职责
2013/12/20 职场文书
班组建设经验交流材料
2014/05/12 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python