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 保留字列表
Oct 04 PHP
Zend的Registry机制的使用说明
May 02 PHP
PHP实现微信公众平台音乐点播
Mar 20 PHP
php实现字符串首字母转换成大写的方法
Mar 17 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
php常用字符函数实例小结
Dec 29 PHP
php 静态属性和静态方法区别详解
Apr 09 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 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
虹吸壶煮咖啡26个注意事项
2021/03/03 冲泡冲煮
写一个用户在线显示的程序
2006/10/09 PHP
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
python实现大文件分割与合并
2019/07/22 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
python requests库的使用
2021/01/06 Python
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
J2EE面试题大全
2016/08/06 面试题
优良学风班总结材料
2014/02/08 职场文书
2015大学生求职信范文
2015/03/20 职场文书
公司员工培训管理制度
2015/08/04 职场文书
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android