HTML无刷新提交表单 - jerrylsxu
程序员文章站
2022-04-06 22:53:04
...
通常对于无刷新提交表单,我们都是运用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 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 ''; exit; } //验证密码 if($_POST['uname'] != 'jack' || $_POST['pwd'] != '123456') { echo ''; exit; } else { echo ''; 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;
上一篇: 如何用sublime编写代码块