php HTML无刷新提交表单

5年以前  |  阅读数:231 次  |  编程语言:PHP 

通常对于无刷新提交表单,我们都是运用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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例