通常对于无刷新提交表单,我们都是运用ajax实现的。前段时间跟着老大了解到另一种无刷新提交表单的方法,是利用iframe框架实现的。现在整理出来分享给大家。
第一种:
html页面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<!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提交数据。 --> < ul > < li > < label for = "uname" >用户名:</ label > < input type = "text" name = "uname" id = "uname" /> </ li > < li > < label for = "pwd" >密 码:</ label > </ li > < li > < input type = "submit" value = "登录" /> </ li > </ ul > </ form > </ body > </ html > |
PHP页面:form.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php //非空验证 if ( empty ( $_POST [ 'uname' ]) || empty ( $_POST [ 'pwd' ])) { 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页面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<!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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?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 ; |
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录