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 相关文章推荐
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
Nov 21 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
php版小黄鸡simsimi聊天机器人接口分享
Jan 26 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
Mar 17 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
thinkphp使用phpmailer发送邮件的方法
Nov 24 PHP
Thinkphp整合微信支付功能
Dec 14 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
PHP执行普通shell命令流程解析
Aug 24 PHP
php优化查询foreach代码实例讲解
Mar 24 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版(5)
2006/10/09 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
JS实现模仿微博发布效果实例代码
2013/12/16 Javascript
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
详解nodejs与javascript中的aes加密
2016/05/22 NodeJs
javascript动画系列之模拟滚动条
2016/12/13 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
React Native 截屏组件的示例代码
2017/12/06 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
python快速查找算法应用实例
2014/09/26 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
简单了解django索引的相关知识
2019/07/17 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
python退出循环的方法
2020/06/18 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
财务管理专业毕业生求职信
2014/06/02 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL