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语法(1)
Oct 09 PHP
php中将时间差转换为字符串提示的实现代码
Aug 08 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
基于PHP实现简单的随机抽奖小程序
Jan 05 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
分享php邮件管理器源码
Jan 06 PHP
jquery不支持toggle()高(新)版本的问题解决
Sep 24 PHP
php接口实现拖拽排序功能
Apr 23 PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 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
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
关于php中一些字符串总结
2016/05/05 PHP
微信支付开发发货通知实例
2016/07/12 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
php微信公众号开发之简答题
2018/10/20 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
python如何实现复制目录到指定目录
2020/02/13 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
个人自我剖析材料
2014/02/07 职场文书
交通事故协议书范文
2014/10/23 职场文书
大学运动会通讯稿
2015/07/18 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
校园安全学习心得体会
2016/01/18 职场文书
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers