浅沫记忆 发表于 2021-9-15 10:54:53

基于HTML实现表单提交后不刷新页面

使用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;" ></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="https://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;以上内容是小编给大家介绍的基于HTML实现表单提交后无刷新页面的相关内容,希望对大家有所帮助!

https://www.uoften.com/webdesign/xhtml/20180414/68805.html
页: [1]
查看完整版本: 基于HTML实现表单提交后不刷新页面