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作为Shell脚本语言使用
Oct 09 PHP
新版mysql+apache+php Linux安装指南
Oct 09 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
ini_set的用法介绍
Jan 07 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
PHP自动补全表单的两种方法
Mar 06 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
PHP单例模式与工厂模式详解
Aug 29 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
用文本文件制作留言板提示(下)
2006/10/09 PHP
PHP学习之正则表达式
2011/04/17 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php获取随机数组列表的方法
2014/11/13 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
js实现购物车功能
2018/06/12 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
python中__call__方法示例分析
2014/10/11 Python
python私有属性和方法实例分析
2015/01/15 Python
Python字符串详细介绍
2015/05/09 Python
python中的代码编码格式转换问题
2015/06/10 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
python判断正负数方式
2020/06/03 Python
Python利用命名空间解析XML文档
2020/08/10 Python
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
大学班级文化建设方案
2014/05/06 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
新生开学寄语大全
2015/05/28 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers