Rumah > hujung hadapan web > html tutorial > 基于HTML实现表单提交后不刷新页面

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

不言
Lepaskan: 2018-06-05 14:18:49
asal
2375 orang telah melayarinya

使用ajax实现表单提交无刷新页面在项目中经常会用到。前一段时间跟着师傅学到了另外几种无刷新提交表单的方法,主要是基于iframe框架实现的。现在小编整理特此分享脚本之家平台供大家参考

使用ajax实现表单提交无刷新页面在项目中经常会用到。前一段时间跟着师傅学到了另外几种无刷新提交表单的方法,主要是基于iframe框架实现的。现在整理出来分享给大家。
第一种:
(html页面)
 

HTML Code复制内容到剪贴板

<!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[&#39;uname&#39;]) || empty($_POST[&#39;pwd&#39;]))    
{    
echo &#39;<script type="text/javascript">alert("用户名或密码为空!");</script>&#39;;    
exit;    
}    
//验证密码 
if($_POST[&#39;uname&#39;] != &#39;jack&#39; || $_POST[&#39;pwd&#39;] != &#39;123456&#39;)    
{    
echo &#39;<script type="text/javascript">alert("用户名或密码不正确!");</script>&#39;;    
exit;    
} else {    
echo &#39;<script type="text/javascript">alert("登录成功!");</script>&#39;;    
exit;    
}
Salin selepas log masuk

第二种:

(html页面)

HTML Code复制内容到剪贴板

<!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 != &#39;&#39;){    
//将获取到的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>
Salin selepas log masuk

(PHP页面:form.php)

XML/HTML Code复制内容到剪贴板

<?php
//设置时区    
date_default_timezone_set(&#39;PRC&#39;);    
/*    
返回的提交消息    
status:状态    
msg:提示信息    
*/    
$msg = array(&#39;status&#39;=>0,&#39;msg&#39;=>&#39;&#39;);    
//获取提交过来的数据    
$name = $_POST[&#39;username&#39;];    
$pwd = $_POST[&#39;userpwd&#39;];    
//模拟登录验证    
$user = array();    
$user[&#39;name&#39;] = &#39;jack&#39;;    
$user[&#39;pwd&#39;] = &#39;jack2014&#39;;    
if($name != $user[&#39;name&#39;]){    
$msg[&#39;msg&#39;] = &#39;该用户未注册!&#39;;    
$str = json_encode($msg);    
echo $str;    
exit;    
}else if($pwd != $user[&#39;pwd&#39;]){    
$msg[&#39;msg&#39;] = &#39;输入的密码错误!&#39;;    
$str = json_encode($msg);    
echo $str;    
exit;    
}    
$msg[&#39;msg&#39;] = &#39;登录成功!&#39;;    
$msg[&#39;status&#39;] = 1;    
$str = json_encode($msg);    
echo $str;
Salin selepas log masuk

以上内容是小编给大家介绍的基于HTML实现表单提交后无刷新页面的相关内容,希望对大家有所帮助!

相关推荐:

多种实例解析HTML表单form的使用方

Atas ialah kandungan terperinci 基于HTML实现表单提交后不刷新页面. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan