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
Zend 输出产生XML解析错误
Mar 03 PHP
PHP简洁函数小结
Aug 12 PHP
检查php文件中是否含有bom的函数
May 31 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
php定义一个参数带有默认值的函数实例分析
Mar 16 PHP
php对象和数组相互转换的方法
May 12 PHP
解读PHP中上传文件的处理问题
May 29 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
Zend Framework常用校验器详解
Dec 09 PHP
PHP中递归的实现实例详解
Nov 14 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/11/27 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
[36:33]Ti4 循环赛第四日 附加赛NEWBEE vs Mouz
2014/07/13 DOTA
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
python文件读写代码实例
2019/10/21 Python
教师个人自我鉴定
2014/02/08 职场文书
应届大专生自荐书
2014/06/16 职场文书
开展读书活动总结
2014/06/30 职场文书
政府个人对照检查材料
2014/08/28 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
2019年农民幸福观调查的实践感悟
2019/12/19 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python