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的一个基础知识 表单提交
Jul 04 PHP
zend framework配置操作数据库实例分析
Dec 06 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
PHP中Fatal error session_start()错误解决步骤
Aug 05 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
php中JSON的使用方法
Apr 30 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Dec 21 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
php实现的错误处理封装类实例
Jun 20 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
一次项目中Thinkphp绕过禁用函数的实战记录
Nov 17 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.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
javascript date格式化示例
2013/09/25 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
node.js 模块和其下载资源的镜像设置的方法
2018/09/06 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
python 输出一个两行字符的变量
2009/02/05 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
意大利咖啡、浓缩咖啡和浓缩咖啡机:illy caffe
2019/03/20 全球购物
教师产假请假条范文
2014/04/10 职场文书
租房协议书范例
2014/10/14 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
2014年维修工作总结
2014/11/22 职场文书
党风廉政建设个人总结
2015/03/06 职场文书